bewegung durch actionscript

MsvP@habdichliebhasi

Erfahrenes Mitglied
Noch mal ne Frage.

Ist es möglich in nur einem einzelnen Schlüsselbild, durch Actionscript einen Movieclip bewegen zu lassen, oder?!

Sprich Ich habe nen kasten, der wenn ich mit der Maus auf ihn klicke hervorkommt (zu ne bestimmten x / y position) und wenn ich noch einmal drauf klicke wieder verschwindet ( oder eifnach mit maus drüber fahren, hreaus kommen, mit Maus von dem kasten weg wieder herrunter fahren)

Aber halt als flüssige animation.

Geht das mit ner Schleifen funktion?! Und wenn wie?
 
Ho,

Schleifen sind eine spezielle Scriptkonstruktion, die so schnell ablaufen, wie es nur geht.
Das ist nicht das, was du meinst - ein onEnterFrameEvent ist vom Konstrukt her einer Schleife ähnlich, ist aber keine.....

PHP:
this.onEnterFrame = function(){
 if (deinObjekt._x <200){
  deinObjekt._x += 5
 }else{
  delete this.onEnterFrame
  }
}
...funktioniert, ist aber keien Schleife - performancemässig solltest du darauf achten nicht zuviele gleichzietige AS Bewegungen zu haben, da dies die CPU ziemlich belastet, nicht jedoch den Speicher...

Grüsse
B
 
kann ich dem movieclip auch selber das as zu weisen?! Also damit es nicht in der Datei rumliegt auf der Bühne sondern direkt an den Movieclip gebunden ist?


Weil so funktioniert das jetzt wunderbar. Problem ist nur das amcht der jetzt ja beim laden der szene, nicht aber wenn ich mit der maus über den moviclip gehe, bzw draufklicke!
 
Zuletzt bearbeitet:
PHP:
onClipEvent (enterFrame) {
	MousO = this.hitTest (_root._xmouse, _root._ymouse, true);
	if (MousO == true)
	{
		if (this._x < 600)
		{
			trace (_xmouse + "/" + _ymouse);
			this._x += 5;
		}
		else
		{
			delete this.onEnterFrame;
		}
	}
}
 
Noch ne kleine Frage,

wie mache ich das denn, wenn ich den Movieclip mittels einer Taste bewegen will.
Sprich wenn ich i drücke(nicht gedrückt halte) soll der Mc zu der Stelle hin gleiten und stehen bleiben. Wenn ich noch einmal i drücke soll der Mc wieder zurück gehen.

Hab das ganze zwar hinbekommen, so dass der Mc sich bewegt während ich i gedrückt halte, aber sobald ich ihn loslasse macht er nichts mehr, bzw. geht zurück:


onClipEvent (enterFrame) {

if (Key.isDown(73)) {
if (this._x>360) {
this._x -= 20;
} else {
delete this.onEnterFrame;
}
if (this._y>360) {
this._y -= 20;
} else {
delete this.onEnterFrame;
}
}
else {
if (this._x<479) {
this._x += 20;
} else {
delete this.onEnterFrame;
}
if (this._y<450) {
this._y += 20;
} else {
delete this.onEnterFrame;
}
}
}
 
Hi,

du musst den onEnterFrame Event innerhalb des Key Events definieren, nicht umgekehrt.
Wenn Taste gedrückt mache einen onEnterFrame Event, und kille diesen, wenn die Bedingung erfüllt ist.
Zusätzlich kannst du dann noch eine Tag Variahble definieren, die anzeigt, in welche Richtung die Bewegung stattfinden soll. DIe Abfrage diseser Variable verzweigt dann, wenn die Taste gedrückt ist auf den entsprechenden onEnterFrame Codeblock. Ist ja auch logisch ...

Grüsse
B
 
Aber das geht ja nicht, der Code steht ja ín dem mc. Und da muss ich doch eine on/onClipEvent-Prozedur außen herum erstellen!

Außerdem die schwierigkeit ist, das eine Taste für zwei aktionen sein soll. Sprich, einmal i klicken geht der mc hoch, nochmal i drücken geht der mc runter.
 

Neue Beiträge

Zurück