| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2004 Ort: Aschaffenburg
Beiträge: 17
|
Hallo, ich würde gerne einen Moveclip dazu bringen sich mit Actionscript von seinem Standpunkt aus (wenn die Maus darüber ist) an einen bestimmten Punkt nach rechts zu bewegen. Sobald die Maus nicht mehr darüber ist soll er sich wieder zum Ausganspunkt zurück bewegen. Kann mir dabei jemand helfen? Bin nicht so der Programmier-Typ, habe nur simple Grundkenntnisse davon. Tausend Dank schon mal im Vorraus. tazz |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
probier mal so: - eine neue fla anlegen - ein movieclip anlegen - dem auf der bühne im eigenschaftenfenster einen namen geben. z.b. test - jetzt oben in die zeitleiste klicken und das actionscript fenster öffnen - dort reinscheiben: trace(test); trace(test._x); - und menü steuerung/film testen die swf wird erzeugt (da bewegt sich noch nichts) das ausgabenfenster öffnet sich und es werden zwei werte ausgegeben. so wie man z.b. die _x position von test auslesen kann, so kann man die auch ändern. schreib mal ins actionscript fenster: test._x=200; test._y=150; und wieder steuerung/film testen das mc text muss sich jetzt auf dieser position befinden. soweit geklappt? dann das ganze in bewegung: Code: test.onEnterFrame=function(){
test._x+=2;
} onEnterFrame wird ständig ausgeführt und test._x+=2 bedeutet, das jedesmal 2 zur x-position addiert wird. mehr: Code: test.speed=2;
test.onEnterFrame=function(){
this._x+=this.speed;
if (this._x>500) this.speed=-this.speed;
if (this._x<50) this.speed=-this.speed;
}
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (26-11-2007 um 18:17 Uhr) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Feb 2004 Ort: Aschaffenburg
Beiträge: 17
|
Sehr gut, vom Prinzip her ist das genau was ich wollte! Jetzt würde ich noch gerne wissen wie ich es hin bekomme das sich der Moveclip (test) über hitTest eines anderen Moveclips (hit area) nach rechts bewegt, am Ende stoppt und wenn ich mit der Maus vo "hit area" wegrolle "test" wieder in die Ausgangsposition zurück fährt. Danke, tazz |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Feb 2004 Ort: Aschaffenburg
Beiträge: 17
|
Hallo habe jetzt folgendes Script geschrieben was auf dem sich zu bewegenden MC befindet: ( Auf Bild eins steht noch: test.speed=50; ) onClipEvent (enterFrame){ if (_root.area.hitTest(_root._xmouse, _root._ymouse, true)) this._x+=this.speed; if (this._x>450) { this.speed=-this.speed; } if (this._x<0) { this.speed=-this.speed; } if (this._x==450) { this.speed=-0; } } Das Script bewirkt das, wenn man mit der Maus über dem MC area ist, sich das test Objekt nach rechts bewegt und bei 450 px stoppt. Jetzt würde es gerne so hin bekommen das wenn ich nicht mehr mit der Maus über dem MC area bin das test MC wieder zurück "fährt" und bei 0 px stoppt. Kann mir dabei jemand helfen? Vielen Dank! |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Feb 2004 Ort: Aschaffenburg
Beiträge: 17
|
So, habe es jetzt so halbwegs hinbekommen das sich das Objekt - wenn die Maus über der "area" ist - nach rechts bewegt und bei 450 px stoppt. Sobald die Maus nicht mehr über "area" ist, bewegt sich das Objekt zurück und stoppt bei 0 px. Leider stoppt das Objekt nicht wirklich bei 450 px sondern zuckt herum, als würden sich die Bedingungen in die Quere kommen. Könnte mir bitte jemand helfen, das dass Objekt nicht mehr zuckt, sondern einfach stehen bleibt und wenn die Maus nicht mehr über "area" sich zurück zu 0 px begibt? Ist bestimmt nur ein kleiner Denkfehler, aber ich bin wie gesagt kein Programmier-Crack! Vielen Dank! Das Script sieht so aus: Auf Bild eins steht: test.speed=50; Auf den Test Objekt steht: onClipEvent (enterFrame){ if (_root.area.hitTest(_root._xmouse, _root._ymouse, true) && this._x<450){ this._x+=this.speed; } else if (this._x>0) { this._x-=this.speed; } } Geändert von tazz (28-11-2007 um 15:53 Uhr) |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.321
|
habe wenig zeit, deshalb erst jetzt eine reaktion: das da: this.speed=-this.speed; dreht die geschwindigkeit um! bei deiner lösung kann es mehrere undefinierte zustände geben: if (_root.area.hitTest(_root._xmouse, _root._ymouse, true) && this._x<450){ this._x+=this.speed; } else if (this._x>0) { this._x-=this.speed; } } was ist, wenn weder die eine noch die andere bedingung erfüllt ist? was, wenn hitTest zutrifft, aber nicht x<450? du solltest klare eindeutige abfragen erstellen und wenn die zutreffen, dann die bewegungsrichtung drehen. dabei muss sicher gestellt sein, das beim nächsten test nicht nochmal umgedreht wird (notfalls das objekt aus dem hitbereich raus positionieren).
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |