Hallo,
Ich hab mal wieder ein Problem.Und zwar möchte ich das sich angrenzende Blöcke zerstören,wenn man auf einen von ihnen klickt.
Momentan siehts so aus:
Wenn man auf einen Block klickt,wird der angeklickte + Oben,Unten,Links und Rechts gelöscht.
Es sollte aber so sein,dass alle sich berührenden gleichfarbigen sich löschen,egal welchen man davon anklickt:
Hoffe ihr versteht was ich meine
Hier der Code,der bei einem Linksklick auf einen Block ausgeführt wird(die Blöcke haben einen Parent und der Code wird beim Parent ausgeführt:
Alles anzeigen
lg,domi
PS: Die Bilder sind aus meinem Spiel und dürfen nicht verbreitet werden^^
Ich hab mal wieder ein Problem.Und zwar möchte ich das sich angrenzende Blöcke zerstören,wenn man auf einen von ihnen klickt.
Momentan siehts so aus:
Wenn man auf einen Block klickt,wird der angeklickte + Oben,Unten,Links und Rechts gelöscht.
Es sollte aber so sein,dass alle sich berührenden gleichfarbigen sich löschen,egal welchen man davon anklickt:
Hoffe ihr versteht was ich meine
Hier der Code,der bei einem Linksklick auf einen Block ausgeführt wird(die Blöcke haben einen Parent und der Code wird beim Parent ausgeführt:
GML-Quellcode
- global.selbst = id
- if(object_index == obj_blau || object_index == obj_gruen || object_index == obj_gelb || object_index == obj_rot)
- {
- destroyself = 0 // Wird man selbst zerstört?
- bchance = 0 // Chance auf Bonus
- // ********************* Abfrage der Blöcke - nicht ändern!!!! ***************
- if(place_meeting(x + 1,y ,object_index) == true) // Abfrage ob RECHTS ein Object der selben Farbe ist
- {
- position_destroy(x + 48,y + 16) // Zerstören
- destroyself += 1 // Man wird zerstört
- score += 10 * global.bonus // Punktevergabe
- bchance += 1 // Chance auf Bonus wird erhöht
- }
- if(place_meeting(x - 1,y,object_index) == true) // LINKS
- {
- position_destroy(x - 16,y + 16 )
- destroyself += 1
- score += 10 * global.bonus
- bchance += 1
- }
- if(place_meeting(x ,y + 1,object_index) == true) // UNTEN
- {
- position_destroy(x + 16,y + 48)
- destroyself += 1
- score += 10 * global.bonus
- bchance += 1
- }
- if(place_meeting(x ,y - 1,object_index) == true) // OBEN
- {
- position_destroy(x + 16,y - 16)
- destroyself += 1
- score += 10 * global.bonus
- bchance += 1
- }
- if(destroyself > 0) // Wenn mindestens 2 Blöcke nebeneinadner waren
- {
- sound_play(snd_destroy) // Zerstörungssound
- instance_destroy() // Selbstzerstörung
- score += 50 * global.bonus // Punktevergabe
- bchance += 1 // Chance auf Bonus erhöhen
- }
- if(destroyself == 0) // Wenn es ein einzelner Block war
- {
- sound_play(snd_fail) // FailSound^^
- score -= 100 // Punkteabzug
- }
- if(bchance == 5) // Wenn Oben,Unten,Links und Rechts ein Block der selben Farbe war
- {
- score += 100 // zusetzliche Punkte
- if(global.bonus = 3) // ************************* Maximale Anzahl des Bonus - Hier Ändern !!! *****************
- { //
- global.bonus = 3 // ***************************************************************************************
- }
- else
- {
- global.bonus += 1 // Bonus wird erhöht
- }
- }
- else
- {
- global.bonus = 1 // Wenn es weniger als 5 zerstörte Blöcke sind wird der Bonus auf 1 zurückgesetzt
- }
- }
lg,domi
PS: Die Bilder sind aus meinem Spiel und dürfen nicht verbreitet werden^^
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von derkimba ()