Snake-Game Segment hinzufügen

  • GM 8
  • Snake-Game Segment hinzufügen

    Hi

    Also ich hab n Problem:
    Ich hab jetzt folgende Objekte:
    obj_snakehead
    obj_snakebody
    obj_apple

    Gut. Jetzt hab ich beim obj_snakehead unter Collision with obj_apple:
    Set the score relative to 1
    Jump to a random position

    Ok. In dem Event möchte ich jetzt eine Action, die bewirkt, dass beim obj_snakehead ein obj_snakebody hinzugefügt wird.


    Aber wie?

    Bitte beantworte/t die Frage EINFACH!
    Danke

    Gruss

    Goldendragon
    Schul-Abschlussarbeit: Gamesammlung

    Made with: Game Maker 8 Pro
    Fertigstellung: Frühling 2011


    Fortschritt:
    Games: 5/20 (voraussichtlich 20)
    Gameübersicht-Fortschritt: 0%
  • also, bei einem snake klon könntest du das den body beispielsweise hinter einem Körperteil spawnen
    einfach mit

    GML-Quellcode

    1. instance_create(x,y,obj_snakebody)

    oder direkt hinter deinem Körperteil:

    GML-Quellcode

    1. instance_create(obj_snakebody.x,obj_snakebody.y,obj_snakebody)


    das ganze musst du natürlich noch anpassen, sollte allerdings ausreichen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von domis4 ()

  • Beim ersten code ist das Problem, dass der Punkt dann da bleibt, wo der Apfel gegessen wurde, und nicht dem Head folgt.

    Beim 2ten code erscheint das:
    ___________________________________________

    ERROR in
    action number 3
    of Collision Event with object obj_apple
    for object obj_snakehead:

    Error in code at line 1:
    instance_create(obj_snakebody.x,obj_snakebody.y,obj_snakebody)
    ^
    at position 31: Unknown variable x


    Danke schon mal :D
    Schul-Abschlussarbeit: Gamesammlung

    Made with: Game Maker 8 Pro
    Fertigstellung: Frühling 2011


    Fortschritt:
    Games: 5/20 (voraussichtlich 20)
    Gameübersicht-Fortschritt: 0%
  • Der Head und der Body ist 7x7. Ich hab jetzt das ...(x+(16*... einfach in ...(x+(7*... umgewandelt.

    Aber jetzt ist wieder das selbe Problem: Der Body folgt dem Head nicht, sondern bleibt einfach da liegen, wo der Head den Apfel gegessen hat!?
    Schul-Abschlussarbeit: Gamesammlung

    Made with: Game Maker 8 Pro
    Fertigstellung: Frühling 2011


    Fortschritt:
    Games: 5/20 (voraussichtlich 20)
    Gameübersicht-Fortschritt: 0%
  • Du musst erstmal die ID des erstellten Segments abspeichern. Die funktion instance_create gibt diese zurück.
    Also: next_segment = instance_create(x,y,obj_snakebody)

    Dann kannst du dann wenn sich der Kopf bewegt auch das erste ssegment bewegen. mit Alarmen kannst du dafür sprgen dass sich die Segmente nacheinander bewegen, immer in Abhängigkeit des vorherigen Segments. Also damit sich nicht alle segmente auf einmal in die neue Richtung bewegen.

    Die Bewegung kannst du am besten so realisieren:

    GML-Quellcode

    1. x += lengthdir_x(7,dir*90);
    2. y += lengthdir_y(7,dir*90);


    Die variable dir muss die richtung beinhalten. Also 0 wäre nach rechts, 1 nach oben usw.

    Google mal ein wenig, es gibt ein paar Examples für sowas...

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Ich hab mal zum Spaß ein Multiplayer-Snake gecodet.
    Vielleicht kannst du damit was anfangen:
    Dateien
    • multisnake.zip

      (18,07 kB, 131 mal heruntergeladen, zuletzt: )
    Einige meiner Spiele:
  • okay ich checks nicht ganz:

    Wir gehen davon aus, dass wir diesen code benutzen:

    instance_create(x+(7*instance_number(obj_snakebody)),y,obj_snakebody)

    jetzt will ich nur noch, dass obj_snakebody obj_snakehead folgt?!
    Schul-Abschlussarbeit: Gamesammlung

    Made with: Game Maker 8 Pro
    Fertigstellung: Frühling 2011


    Fortschritt:
    Games: 5/20 (voraussichtlich 20)
    Gameübersicht-Fortschritt: 0%
  • Sorry wenn ich vielleicht aufdringlich werde, aber ich check das immer noch nicht! Die letzte Antwort (von mir) ist ja auch schon 10 Tage her, und ich wär über eine Antwort sehr erfreut.
    Schul-Abschlussarbeit: Gamesammlung

    Made with: Game Maker 8 Pro
    Fertigstellung: Frühling 2011


    Fortschritt:
    Games: 5/20 (voraussichtlich 20)
    Gameübersicht-Fortschritt: 0%