Zeitgesteuerter Positionswechsel

Fuma15

Mitglied
Hi Leute,

vorab, Ja ich habe in google gesucht und nix passendes gefunden, Nein ich habe mir nicht die Zeit genommen in der Suche nach meinem spezifischen Problem zu suchen...Asche auf mein Haupt. ^^

Kommen wir aber jetzt zur Sache.

Ich arbeite gerade am Leveldesign meines Snake-ähnlichen Flashspiels.
Ab dem Level 2 möchte ich, dass der Gegenstand, der eingesammelt werden soll aller 10 Sekunden an eine andere Position springt, um den Spieler das einsammeln zu erschweren.

Dabei muss beachtet werden, dass wenn der Gegenstand eingesammelt wurde, von da an wieder von 0 begonnen wird bzw. von da an 10 Sekunden Zeit bleibt das Nächste einzusammeln.

Meine Funktion die ich dafür vorgesehen habe sieht so aus(Rechtschreibfehler an den Instanznamen einfach ignorieren, Namen sind Schall und Rauch ^^):

Code:
function changePosition(){
	
	changer = function(){
		var x = random(Stage.width-honey._width);
		var y = random(Stage.height-honey._height);
		
		if (x<bine._x || x>bine._x+bine._width) {
			if (y<bine._y || y>bine._y+bine._height) {
				honey._x = x;
				honey._y = y;
			} else {
				y = random(Stage.height-honey._height);
			}
		} else {
			x = random(Stage.width-honey._width);
		}
	}
	
	posIt=setInterval(this, "changer", 10000);
}

Aufgerufen wird diese Funktion im onEnterFrame des Bine-Objektes an dieser Stelle:

Code:
if(level==1 && level<5){
	changePosition();
}

Wie realisiere ich jetzt das aller 10 Sekunden (mit den Berücksichtungen die ich oben nannte) das Objekt seine Position verändert.

Ein alternativer Lösungsansatz war dieser hier:
Code:
if(level==1 && level<5){
	if(total%17==0){
		changePosition();
	}
}

Hierbei ist zu beachten das total eine Zeitangabe ist die im Sekundentakt heruntergzählt wird und auf 60 eingestellt wurde(Art und Weise des Herunterzählens kann ich auf Anfrage gerne rüberreichen ^^ ist aber für das aktuelle Problem unwichtig)

Bei dieser Lösung ergibt sich allerdings das Problem das der Wert in total auch beim nächsten onEnterFrame noch gültig ist und somit eine Sekunde lang die Position ständig gewechselt wird.
 
Hey Leute,

Seid ihr selbst noch am testen um mir eine Lösung zu sagen?
Würde mich über eure Hilfe sehr freuen ^^
Ich will euch nicht hetzen....gut Ding will Weile haben sagt man ja so schön ^^

Wenn euch noch irgendwelche Informationen fehlen sagt es mir bitte und ich reich sie euch rüber.

Bitte melde sich doch mal jemand.
Es ist mir wirklich wichtig eine Antwort darauf zu bekommen.
 
Zuletzt bearbeitet:
Hey Leute
ich habe nun mehr als ein Jahr auf eine antwort gewartet und keine erhalten.
Ich hoffe wenn ich diesen Thread nochmal in euer gedächtnis rufe dann eine antwort zu erhalten.

Ich bin mit dem Problem noch nicht weitergekommen und Anderungen daran habe ich auch nicht vorgenommen.
Bitte helft mir bei meinem Problem

MFG
Fuma15
 
Ist denn nach einem Jahr der obige Code noch korrekt? Hast du eventuell eine fla?

Zunächst fällt auf, dass du in einem onEnterFrame immer wieder einen Interval setzt - das kann ja nicht funktionieren.
 
Ja der Code ist noch korrekt da ich das jahr über nix daran verändert habe,
Die *.fla besitze ich ebenfalls, wenn du die brauchst schick ich sie dir zu musst mir nur sagen wie am besten
 

Neue Beiträge

Zurück