Gravitations-Problem...

SonMiko

Erfahrenes Mitglied
Hallo zusammen,

ich arbeite derzeit an einem kleinen Projekt, wo ich versuche eines dieser Pongartigen Spiele nachzubauen. Eines von denen wo, sagen wir ab 50% des Bildes, Gegenstände plaziert sind. Jetzt fällt eine Kugel hinunter, und man muss unten auf der X-Achse die Kugel abprallen lassen und das so, das die Gegenstände getroffen und in Punkte umgewandelt werden.

Leider hab ich einen Fehler im Script

Code:
money1.onEnterFrame=function(){
	if(money1.hitTest(person_mc)){
		money1.removeMovieClip();
	}
}
Wenn das Objekt "money1" von "person_mc" berührt wird, kann ich zwar per "trace" ausgeben das dies stimmt, aber ich kann den aktuellen Clip ("money1") nicht anhand von "removeMovieClip", verschwinden lassen. Weiss jemand wieso das so ist?



Ich danke Euch vielmals für Eure Hilfe,

besten Gruß,

Euer


Mike
 
Zuletzt bearbeitet:
... das sollte eigentlich funktionieren - zumindest dann, wenn Du "money1" per attachMovie oder createEmptyMovieClip auf die Bühne geholt hast. Clips, die schon zur Entwurfszeit auf die Bühne gezogen wurden, lassen sich nicht per removeMovieClip entfernen.

Übrigens würde ich Dir empfehlen, das Objekt innerhalb seiner eigenen onEnterFrame-Methode per "this" anzusprechen:
Code:
money1.onEnterFrame=function(){
	if(this.hitTest(person_mc)){
		this.removeMovieClip();
	}
}
Das macht den Code wartbarer (z.B. wenn Du den Instanznamen des MC änderst).

Gruß
.
 
Hi Tobi,

hast recht, hab ich auch später gemacht.
Ich hab 30 Objekte auf der Bühne, jedes hat eine Funktion -
ich hab eben noch alles von Hand eingegeben und dachte dann: Das muss doch einfacher gehen, und das Resultat ist nun folgendes:

Code:
var anzPers:Array=new Array(31);

for(var i=1;i<anzPers.length;i++){
this["money"+i].onEnterFrame=function(){
	if(this.hitTest(person_mc)){
		if(untreffbar==false && this._visible==true){
		xspeed*=-bounce;
		yspeed*=-bounce;
		untreffbar=true;
		//this.removeMovieClip(); <-klappt auch so übrigens nicht
		this.play();
		this._visible=false;
		}
	}
}

}
i=1 und Array(31) weil ich mit der Namensvergabe der Objekte auf der Bühne mit 1 angefangen habe. Klar, ich hätte jetzt auch alle per Attach Movie auf die Bühne holen können, aber jetzt hab ichs halt schon so gelöst...

Ich hab mich auch dazu entschieden die Objekte einfach auf unsichtbar zu setzen,
denn später kann es ja sein, dass durch einen "Bonus" oder sowas, einzelne Objekte per Zufall noch mal auftauchen, dann bin ich nicht soo eingeschränkt und kann sie einfach wieder zum Leben erwecken.

Tausend Dank Dir,

mal wieder was gelernt ;)


Besten Gruß,


Mike
 
... wo läge denn das Problem daran, die Dinger einfach per attachMovie auf die Bühne zu holen? Du bist dann z.B. auch hinsichtlich der Anzahl flexibler (es genügt, eine Zahl zu ändern, statt irgendwelche Clips auf der Bühne zu kopieren). ;)

Gruß
.
 
Hm nichts -
dagegen gibts nichts einzuwenden ;).
Ich hab die nur eben alle platziert, also von Hand.
Ich müsste über ein oder zwei Arrays wieder das "Schachbrett" Prinzip
anwenden - Du hattest mir da schonmal was gesagt bzw. geholfen.
Hab auch den Code noch irgendwo, denke auch das ich ihn herleiten kann:
Es gab eben eine X-Koordinaten Zähl Variable und eine für Y-Koordinaten,
dann noch eine für die Abstände der Objekte zueinander.

Hm das Spiel ist soweit schon so gut wie fertig


Tausend dank Tobi,


Besten Gruß,


Mike
 
Zurück