Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „MC per AS zufällige Bewegung geben“

R

RikeMMP

Guest

Hallo,

ich möchte meinem MC eine zufällige Bewegung geben per AS.
Und zwar soll der MC immer von rechts nach links über die Bühne laufen und jedes Mal, wenn er die Bühne von rechts "betritt", von einer anderen x-Position starten, die wiederum darf sich aber nur innerhalb eines bestimmten Bereichs befinden..also nicht die gesamte Bühnenhöhe..

Toll wäre auch noch, wenn sich die Geschwindigkeit verändern würde..aber das andere ist erstmal wichtiger :)

Hat dazu jemand eine Idee?
 

bad2be

Aktives Mitglied

AW: MC per AS zufällige Bewegung geben

Servus

Geh mal BItte in deiner Bibliothek mit rechtsklick auf den Movie der sich bewegen solll, dann -> Verknüpfung und da machst Du bitte den Haken bei "Export für Actionscript" an. Als Bezeichner trägst Du bitte "deinmc" ein.
So, alles mit OK bestätigen und in deiner HZL trägst Du jetzt bitte folgenden Bildscript ein:
Code:
mcy = 100;//position auf y
minstartx = 400;//startposistion x von hier bis
maxstartx = 450;//hier
maxspeed = 18;//maximale geschwindigkeit
minspeed=1.5;//minimale geschwindigkeit
function erstellen() {
	clip = this.attachMovie("deinmc", "deinmc", this.getNextHighestDepth(), {_x:Math.floor(Math.random()*(maxstartx-minstartx+1))+minstartx, _y:mcy});//lädt deinen mc aus der bib an einen zufällige xpos
	bewegen(clip);//ruft bewegen auf und übergibt den mc
}
function bewegen(obj) {
	speed = Math.random()*(maxspeed-minspeed+1)+minspeed;//ermittelt die zufällige geschwindigkeit
	obj.onEnterFrame = function() {
		obj._x -= speed;//verändert x-pos anhand der geschwindigkeit
		if(obj._x<=0-obj._width/2){// wenn der mc die bühne verlassen hat
				delete obj.onEnterFrame;//dann lösche das onEnterFrame
				removeMovieClip(obj);//lösche den MC (somit eigentlich das löschen des on EnterFrames überflüssig)
				erstellen();// erstelle einen neuen mc
			}
	};
}
erstellen();//erster aufruf

Viel Spass,

LG B2B
 
Zuletzt bearbeitet:

h_seldon

Aktives Mitglied

AW: MC per AS zufällige Bewegung geben

Hallo,

eventuell könnte man, da beim attachMovie ohnehin eine Objektinitialisierung erfolgt, auch das Ereignis dort eintragen:

{bisherigeAngaben,onEnterFrame:bewegen}

Dann entfällt innerhalb der Funktion bewegen() die Verwendung eines Parameters; jeder Bezug auf obj wird ersetzt durch this.

Und anstatt den MC jedesmal zu löschen und wieder einzufügen muss man ihn nur nach dem Ende einer Animationsphase mit einem neuen zufälligen x- und speed-Wert versehen. Es reicht, ihn ein einziges Mal einzufügen.

Interessant, wie oft das auftaucht: von 0 eine positive Zahl zu subtrahieren entspricht dem Wert dieser Zahl mit negativem Vorzeichen. Die Subtraktion 0-obj._width/2 entspricht daher -obj._width/2.

Viel Spass
 

bad2be

Aktives Mitglied

AW: MC per AS zufällige Bewegung geben

Hallo,

eventuell könnte man, da beim attachMovie ohnehin eine Objektinitialisierung erfolgt, auch das Ereignis dort eintragen:
...

Und wieder einmal hat der Herr sowas von Recht :)
Das ganze also frei nach seldon :)
Code:
mcy = 100;//position auf y
minstartx = 400;//startposistion x von hier bis
maxstartx = 450;//hier
maxspeed = 18;//maximale geschwindigkeit
minspeed = 1.5;//minimale geschwindigkeit
function erstellen() {
	this.attachMovie("deinmc", "deinmc", this.getNextHighestDepth(), {_x:Math.floor(Math.random()*(maxstartx-minstartx+1))+minstartx, speed:(Math.random()*(maxspeed-minspeed+1)+minspeed), _y:mcy, onEnterFrame:bewegen});
	//lädt deinen mc aus der bib an einen zufällige xpos
}
function bewegen() {
	this._x -= this.speed;	//verändert x-pos anhand der geschwindigkeit
	if (this._x<=-this._width/2) {		// wenn der mc die bühne verlassen hat
		delete this.onEnterFrame;		//dann lösche das onEnterFrame
		removeMovieClip(this);		//lösche den MC (somit eigentlich das löschen des on EnterFrames überflüssig)
		erstellen();		// erstelle einen neuen mc
	}
}
erstellen();//erster aufruf
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben