Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-06-2006, 16:32   #1 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 8
punkten folgen die zweite

mir wurde jetzt der tip gegeben, das actionscript statt der flash-datei mit in die nachricht zu schreiben. also tue ich das hiermit.
es geht nach wie vor darum, daß ich einen punkt ziehe und ihm die anderen den abstand verringernd folgen. ziehe ich den punkt in die andere richtung, vergrößert sich der abstand wieder. aber irgendwie haut das noch nicht so hin, wie ich mir das denke. deshalb jetzt hier mein unvollkommenes, leicht verworrenes script:

onClipEvent (load) {
_root.zielx = _root.drei._x
_root.ziely = _root.drei._y
_root.abstandx = _root.zwei._x-_root.zielx
_root.abstandy = _root.zwei._y-_root.ziely

}

onClipEvent (enterFrame) {
if (follow == 1) {
_root.drei._x=_root.zwei._x-(_root.abstandx)
_root.drei._y=_root.zwei._y-(_root.abstandy)


}

}

das ist das hauptscript, was auf dem zu ziehenden punkt liegt und auch funktioniert. den punkt habe ich als mc konvertiert.
auf diesem punkt liegt aber noch eine drag-funktion. allerdings eine ebene tiefer, quasi als schaltfläche:

on (press) {

startDrag(_root.zwei, true, 0, 234, 540, 234);

if (_root.zwei._x > _root.zielx) {
var follow = 1

}


}
on (release) {
stopDrag();
var follow = 0

}


so, und auf dem anderen punkt als mc liegt auch noch ein script:

onClipEvent (mouseDown) {
destx = _parent._xmouse;
desty = _parent._ymouse;
}
onClipEvent (enterFrame) {
delta_x = destx-_x;
delta_y = desty-_y;
_x += delta_x/8;
_y += delta_y/8;
}


sowie auch wieder eine ebene tiefer auf dem punkt als schaltfläche:

on (press) {
startDrag(_root.drei);
}
on (release) {
stopDrag();
_root.zielx = _root.drei._x
_root.ziely = _root.drei._y
_root.abstandx = _root.zwei._x-_root.zielx
_root.abstandy = _root.zwei._y-_root.ziely

}

so, falls das jetzt einer verstanden hat und weiß, woran es liegt und mir das auch noch verrät, wäre ich ihm erstens unendlich dankbar und zweitens hätte er mich zum glücklichsten menschen der welt gemacht
ansonsten liegt die flash-datei hierzu noch unter dem thema: "es geht immer noch um punkten folgen"
vielen dank
b_von_abc ist offline   Mit Zitat antworten
Alt 07-06-2006, 17:05   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!
Wenn ich sage, dass ich's verstanden habe, dann lüge ich. Soll das so aussehen:
PHP-Code:
this.zwei.onPress = function() {
    
startDrag(thistrue0234540234);
    
this._parent.drei.onEnterFrame = function() {
        
this._x += (this._parent.zwei._x-this._x)/8;
    };
};
this.zwei.onRelease this.zwei.onReleaseOutside=function () {
    
stopDrag();
    
delete this._parent.drei.onEnterFrame;
}; 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-06-2006, 18:27   #3 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 8
antwort zum punktegewirr

mmh, jetzt habe ich es nicht verstanden. also bis auf den teil mit "delta und parent." funktioniert alles. wenn ich diesen teil heruas nehme, nähert sich der kreis dem anderen dann nicht sondern hält den selben abstand. ich möchte im prinzip nur, daß sich der hintere punkt dem vorderen punkt annähert.
b_von_abc ist offline   Mit Zitat antworten
Alt 08-06-2006, 00:02   #4 (permalink)
Neuer User
 
Benutzerbild von faelkson
 
Registriert seit: Jan 2006
Beiträge: 31
so vielleicht?

ich glaub dem B kommt es drauf an, das die Punkte immer gleich im Abstandsverhältniss zueinander stehen. Probier mal den:
1. Zwei Movieclips auf der Bühne (mit gleichem Y-Werten) erstellen und dem einen den Instanznamen "Master", und dem anderen den Instanznamen "Butler" geben. Dann folgendes Sript auf den Frame legen(nicht auf die Movieclips):
PHP-Code:
this.master.rechts 476;
this.master.links 130;
this.master.onPress = function() {
    
this.startDrag(falsethis.linksthis._ythis.rechtsthis._y);
};
this.master.onRelease = function() {
    
this.stopDrag();
};
onMouseMove = function () {
    
trace(master._x);
};
this.onMouseMove = function() {
    
masterProzent Math.round((this.master._x-this.master.links)/(130/100));
    
trace(masterProzent);
    
butler._x = (masterProzent)*1.7;
}; 
und gucken was passiert, und sagen ob du das meinst, oder auch nicht ;-)

Geändert von faelkson (08-06-2006 um 00:04 Uhr)
faelkson ist offline   Mit Zitat antworten
Alt 08-06-2006, 10:19   #5 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 8
danke schön

vielen dank an faelkson für das script. es funktioniert genau so, wie ich es mir vorgestellt habe. ich kann dir ja mal mein ganzes diplom schicken
und wie ich ja in meiner mail versprochen hatte, hast du mich gerade zum glücklichsten menschen gemacht und mein dank ist auch nahezu unendlich.

b_von_abc
b_von_abc ist offline   Mit Zitat antworten
Alt 08-06-2006, 10:41   #6 (permalink)
Neuer User
 
Benutzerbild von faelkson
 
Registriert seit: Jan 2006
Beiträge: 31
Smile

...oh, ich bin ganz gerührt..
faelkson ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele