Hallo, ich hab da ein Problem, an dem ich mir nun schon 2 Wochen die Zähne ausbeisse, jedoch ist außer einem Zahnarztbesuch noch nichts bei rausgekommen... 
In meinem Spiel (so eine Art 3-Gewinnt-Spiel) sollen alle Spielsteine nach links rücken, wenn eine ganze Spalte frei geworden ist. Das habe ich mit "collision-line" gemacht und das tun sie auch - jedoch nicht immer. Immer wieder kommt es vor, dass sich die "Hauptsteine" (obj_diamond_parent) über die Würfel oder Räder dabei schieben.
Mein Code:
Alles anzeigen
Ich finde einfach den Fehler nicht. Vielleicht kann sich ja einer der Experten hier mal den Code anschauen. Irgendwas muss daran nicht stimmen, denn immer, wenn die Objekte aufrücken, klappt das in ca. 95% der Fälle - und der Rest schiebt sich irgendwie aufeinander. Das darf aber nicht sein. Ach ja: alle Objekte sind vom Typ "solid"!
Kann mir jemand bitte einen Tipp geben, wo ich noch nach dem Fehler suchen kann? Vielleicht liegt er ja auch ganz woanders, ich denke nur, hier, weil es immer beim Aufrücken passiert.
Danke schon mal im voraus,
Archie

In meinem Spiel (so eine Art 3-Gewinnt-Spiel) sollen alle Spielsteine nach links rücken, wenn eine ganze Spalte frei geworden ist. Das habe ich mit "collision-line" gemacht und das tun sie auch - jedoch nicht immer. Immer wieder kommt es vor, dass sich die "Hauptsteine" (obj_diamond_parent) über die Würfel oder Räder dabei schieben.
Mein Code:
GML-Quellcode
- var i;
- for(i=global.breite; i>=60; i-=40)
- {
- if collision_line(i,0,i,global.hoehe,obj_diamond_parent,0,0) == noone
- {
- with(all){
- if ((object_get_parent(object_index)=obj_diamond_parent) || (object_get_parent(object_index)=obj_wuerfel_parent) || (object_index=obj_rad)) && !place_meeting(x-40,y,obj_wall_parent)
- if (x > i && x <= global.breite) x -= 40;
- }
- }
- }
Ich finde einfach den Fehler nicht. Vielleicht kann sich ja einer der Experten hier mal den Code anschauen. Irgendwas muss daran nicht stimmen, denn immer, wenn die Objekte aufrücken, klappt das in ca. 95% der Fälle - und der Rest schiebt sich irgendwie aufeinander. Das darf aber nicht sein. Ach ja: alle Objekte sind vom Typ "solid"!
Kann mir jemand bitte einen Tipp geben, wo ich noch nach dem Fehler suchen kann? Vielleicht liegt er ja auch ganz woanders, ich denke nur, hier, weil es immer beim Aufrücken passiert.
Danke schon mal im voraus,
Archie
Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... 
