"Aufheben" von Objekt "DYNAMITE" durch objekt"Man"

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • "Aufheben" von Objekt "DYNAMITE" durch objekt"Man"

    Hallo.



    Ich binn neu in diesem Board, benutze Gamemaker 7 lite und hab schon meine erste Frage...



    Ich habe 2 Objekte (mittels DragDrop)

    1.) MAN

    Ein männchen



    2.) DYNAMITE
    Ein päckchen Dynamit.



    Wie kann ich dass so hinkriegen, dass bei Kollision Männchen - Dynamit das Dynamit zerstört wird (delete object dynamit), und dann an X:123 Y:124 dargestellt wird DYNAMIT AUFGENOMMEN (mit draw) und einer Varriable namens DYNAMITE mit dem wert 1 bezug auf MAN...



    Problem: Nach dem Delete-event des DYNAMITE erstellt er die variable nicht und drawt auch nichts...



    könnt ihr mir helfen...



    Ich bring am MITTWOCH ein paar screenshots mit..







    Danke & LG Cewie

    WireWare

    Derzeitiges Projekt:

    Spoiler anzeigen
    Timelines |||||||||||||||||||||||||| 50%
    Objekte ||||||||||||||||||||||||||| 10%
    Sprites |||||||||||||||||||||||||||| 75%
    Publicity ||||||||||||||||||||||||||| 1%
  • isch schätze mal dein problem ist das du zuerst das object löschst und dann erst die befehle für anzeige und variable gibst. du musst sicherstellen dass das Delete erst nach den anderen aktionen ausgeführt wird ;)

    wenn du es schon soweit fertig hast wäre es das bste wenn du eine gmk datei hochlädst und mans näher beleuchten kann :)



  • Ahh... Das könnte sein..

    binn mir aber nicht sicher, glaube, ich hab es zuletzt gelöscht...

    Noch etwas, wie kann ich z.B. das objekt "dynamite" wieder an der Stelle des männchens ablegen, und mit der Variable "DYNAMITE_SET" Wert 1 die das dynamit in 10 sek. zu "zünden" und alles im UImkreis von 100Px zu deleten?

    mittels Timeline?

    LG

    WireWare

    Derzeitiges Projekt:

    Spoiler anzeigen
    Timelines |||||||||||||||||||||||||| 50%
    Objekte ||||||||||||||||||||||||||| 10%
    Sprites |||||||||||||||||||||||||||| 75%
    Publicity ||||||||||||||||||||||||||| 1%
  • cewiethemaster schrieb:

    Ahh... Das könnte sein..

    binn mir aber nicht sicher, glaube, ich hab es zuletzt gelöscht...

    Noch etwas, wie kann ich z.B. das objekt "dynamite" wieder an der Stelle des männchens ablegen, und mit der Variable "DYNAMITE_SET" Wert 1 die das dynamit in 10 sek. zu "zünden" und alles im UImkreis von 100Px zu deleten?

    mittels Timeline?

    LG


    Dafür gibt es alarms. Du schreibst zum Beispiel im alarm[0] des Dynamitobjektes deinen Zerstörcode. Beim ablegen des Dynamits (zB. Key-pressed Space im obj_player)
    schreibst du:

    GML-Quellcode

    1. var dyn;
    2. if(dynamite) // Als erstes muss gecheckt werden ob der Spieler Dynamit hat, hier durch eine Bool - Variable
    3. {
    4. dyn = instance_create(x, y, obj_dynamity);
    5. dyn.alarm[0] = room_speed * 10; // room_speed entspricht einer Sekunde, wahrscheinlich 30
    6. dynamite = false;
    7. }


    Ich hoffe das ist verständlich. Der alarm wird auf room_speed * 10 gesetzt und jeden step automatisch um 1 verringert. Wenn der Wert 0 hat, wird der Code ausgeführt.

    © 2008 by Teamgrill Productions
  • kevb0ard schrieb:

    isch schätze mal dein problem ist das du zuerst das object löschst und dann erst die befehle für anzeige und variable gibst. du musst sicherstellen dass das Delete erst nach den anderen aktionen ausgeführt wird ;)

    wenn du es schon soweit fertig hast wäre es das bste wenn du eine gmk datei hochlädst und mans näher beleuchten kann :)
    Da muss ich dich korrigieren. Im Normalfall wird das instance_destroy() sowieso erst ausgeführt, wenn der andere Code in diesem Event abgearbeitet ist. Probiers aus: Mach ein Objekt, dann instance_destroy() und danach show_messsage()

    @cewiethemaster Wenn du die Variable vom Dynamit aus an den Player zuweisen möchstest, musst du schauen dass du es für den Player ausführst. Im Drag & drop Fenster gibt es die Option "Applies to"
    Für dein anderes Problem brauchst du eine weiter Variable, die im Player aktiviert wird, nennen wir sie drawdynamit. diese musst du im Create Event auf 0 setzen und eben wenn der Dynamit aufgenommen wird auf 1. Im Draw-Event des Players prüfst du dann, ob die Variable 1 ist und zeichnest gegebenfalls den Text. Um den Text nach einer Weile verschwinden zu lassen, benutz die gleiche Methode, die Soul Reaver für dein anderes Problem vorgeschlagen hat. Also du setzt beim Aufnehmen des Dynamits einen Alarm im Player und ist dieser 0, dann setzt du die Var drawdynamit wieder auf 0.

    © 2008 by Teamgrill Productions
  • MasterXY schrieb:

    kevb0ard schrieb:

    isch schätze mal dein problem ist das du zuerst das object löschst und dann erst die befehle für anzeige und variable gibst. du musst sicherstellen dass das Delete erst nach den anderen aktionen ausgeführt wird ;)

    wenn du es schon soweit fertig hast wäre es das bste wenn du eine gmk datei hochlädst und mans näher beleuchten kann :)
    Da muss ich dich korrigieren. Im Normalfall wird das instance_destroy() sowieso erst ausgeführt, wenn der andere Code in diesem Event abgearbeitet ist. Probiers aus: Mach ein Objekt, dann instance_destroy() und danach show_messsage()
    er schreib ja das er e smir D&D macht und wenn er die Destroy aktion vor den anderen in der liste hat dann wird sie auch als erstes ausgeführt.



  • Benutzer online 1

    1 Besucher