Einschussloch Problem

  • GM 8
  • Einschussloch Problem

    Hi leute, hab ein kleines (größeres) Problem :)
    Ich möchte programmieren, dass der Spieler Einschusslöcher auf einer Wand erzeugen kann (toll nicht ? xD).
    Ok, hört sich jetzt nicht so schwer an, aber da ich ein totaler Anfänger bin bekomm ich das irgendwie nicht hin :).

    Mein Problem ist:
    Also, ich schieß auf die Wand, ok das loch ist da...
    Ich schieß einen Schuss daneben und setz gleich darauf einen anderen in die Wand... Jetz is das Loch auf der Position des 1. Schusses und beide werden gelöscht... :(

    Schaut es euch am besten selbst an.
    Nicht über die Sprites lachen, sind nur zum Testen da, und ja... ich weiß die einschusslochanimation ist schrecklich ;)

    Habs bis jetzt so gemacht dass sich der Player mit 'w'zu Maus bewegt und man mit linker Maustaste schießt :)
    Dateien
    • problem.rar

      (11,04 kB, 252 mal heruntergeladen, zuletzt: )
  • ich versteh dein Problem irgendwie net. Bei mir bleiben alle einschusslöcher drin :S . Was ist das Problem dann bei dir? bitte genauer erklären, dass es auch einer wie ich versteht :P
    "OMG, ich habe Kenny getötet"
    "Ich bin ein echter gangstar. Ich cheate in GTA San Andreas."
    "Ich bin Minecrafter ........ UND ICH BIN STOLZ DRAUF!!!"

    HomePage: the-rider.de.ki/
  • ok :) also... versuch mal 2 schüsse schnell hintereinander auf die wand zu schießen... dann sollte eigentlich nur einer treffen weil gleich beide gelöscht werden wenn der erste trifft...

    und wenn du einen daneben schießt und gleich einen in die wand (der 1. muss noch im BIld zu sehen sein), dann wird das "loch" auf dem 1. erstellt , also irgendwo im nirgendwo ;) hoffe jetzt isses ein bischen verständlicher ^^
  • Der Fehler ist in dem Objekt "obj_wall_massive_test" versteckt.

    In dem Collision Event arbeitest du die ganze zeit mit der Instanz/dem Objekt "obj_shot_test", wodurch der Game Maker ALLE Instanzen löscht, und bei Koordinaten die der zuerst erstellten Instanz benutzt.

    Also das bedeutet, anstatt wie du es machst, mit obj_shot_test im Collsion Event, musst du mit den kleinen Zauberwort "other" Arbeiten, welches die ID der Instanz, welche mit obj_wall_massive_test kollidiert, zurückgibt, und somit nur diese Instanz des Objektes löscht / nur ihre Koordinaten benutzt, und nicht die, der zuerst erstellten Instanz.

    Also ganz Konkret:
    In obj_wall_massive_test, im Collision Event mit obj_shot_test, musst du folgendes ändern:

    In der Create Instance Aktion:
    • obj_shot_test.x und obj_shot_test.y => x und y
    In der Destroy Instance Aktion:
    • In der RadioGroup oben "Other" ankreuzen, damit die Instanz, die auf die Wand trifft gelöscht wird, und nicht alle Schüsse
    Gruß,
    Mokuyobi
    木曜日 (Mokuyōbi)