Wie macht man das ein objekt springen kann?

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

  • Wie macht man das ein objekt springen kann?

    ich habe volgende frage: ich wollte doch mal ein jump n´run spiel machen aber es scheitert beim springen.

    laufen geht super aber das springen nicht. nun frage ich euch, wie macht man ,dass die figur springt?

    außerdem hätte ich noch ein paar ande fragen:

    Wie macht man ,dass gegner sterbnen wenn man ihnen auf den kopf springt?

    wie macht man ,dass objekte verschwinden (zb. geld wenn man es einsammelt).

    und das mit den leben versteh ich auch nicht ganz. wie macht man ,dass man leben verliert?

    Das war jetzt ein bisschen viel auf einmal aber ich hoffe es gibt jemanden der mir helfen kann (wo von ich stark ausgehe)

    THX
    Danke!
  • Hmmm... das ist ja nich schwer! :D
    Also, du stellst folgendes ein:

    Alles in deinem Player Objekt!

    Springen:

    Step Event:
    Execute a piece of code:

    GML-Quellcode

    1. if(place_free(x,y+1)) // Checkt, ob sich der Player in der Luft befindet
    2. {
    3. gravity_direction=270 // Setzt die "Richtung" der Gravity (270 ist nach unten)
    4. gravity=0.7 // Setzt die "stärke" der Gravity
    5. }
    6. else // Wenn er sich [b]NICHT[/b] in der Luft befindet...
    7. {
    8. gravity_direction=270 // ...bleibt die Direction der Gravity gleich...
    9. gravity=0 // ...aber es gibt keine Gravity mehr, damit der Player nicht im Boden einsinkt!
    10. }

    Key Press Up Event
    Execute a piece of code

    GML-Quellcode

    1. if!(place_free(x,y+1)) // Checken, ob sich der Player auf dem Boden befindet!
    2. {
    3. vspeed=-8 // Lässt den Player Springen! vspeed ist die Geschwindigkeit nach oben!
    4. }

    Bei Collision mit irgendeinem Soliden Objekt:
    Execute a piece of code

    GML-Quellcode

    1. move_contact_solid(direction,12) // Wenn ich wüsste wofür das ist! :D
    2. vspeed=0 // Bei collision mit dem Soliden Objekt bleibt der Player auf dem Objekt "stehen"

    Keyboard Left
    Execute a piece of code

    GML-Quellcode

    1. if(place_free(x-6,y)) // Checken, ob der Platz links vom Player frei ist!
    2. {
    3. x-=6 // wenn ja, soll der Player nach links gehen!
    4. }

    Keyboard Right
    Execute a piece of code

    GML-Quellcode

    1. if(place_free(x+6,y)) // Das gleiche wie oben nur mit rechts!
    2. {
    3. x+=6 // siehe oben!
    4. }


    Kofspringen der Gegner:
    Collisions Event mit dem Gegner:
    Execute a piece of code

    GML-Quellcode

    1. if(vspeed>0) // Checken, ob der Player gerade fällt!
    2. {
    3. with(other) // Das heißt. dass es mit dem anderen Objekt (also der Gegner) passiert!
    4. {
    5. instance_destroy() // Der Gegner soll zerstört werden!
    6. }
    7. vspeed=-2
    8. }
    9. else //Wenn der Player nicht fällt!
    10. {
    11. room_restart() // Wird das Level neu gestartet!
    12. }
    Alles anzeigen


    Objekte Verschwinden:

    Collisions Event mit deinem Objekt:
    Execute a piece of code

    GML-Quellcode

    1. with(other) // Das weißt du jetzt ja ^^
    2. {
    3. instance_destroy() // Das auch! xD
    4. }


    Mit den Leben

    Game Start Event:

    Execute a piece of code:

    GML-Quellcode

    1. lives=5 // oder anderer Wert! Setzt die Leben am Spielstart auf 5

    Collision mit einem Leben abzieher :D

    Execute a piece of code

    GML-Quellcode

    1. lives-=1 // 1 Leben abziehen!


    No more Lives Event: // Wenn du keine Leben mehr hast

    Execute a piece of code

    GML-Quellcode

    1. game_restart() //...soll das Spiel neu gestartet werden!

    So müsste alles funktionieren!
    Viel Spaß damit! :D

    EDIT: Lol, ich hab da ja ein richtiges Tutorial geschrieben xD ^^
    EDIT2: Auskommentiert!
    fabse64 -> haiyyu

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von fabse64 ()

  • Und als Erweiterung zu fabse64's "Tut":
    Damit du mehr Blöcke und "Lebensabzieher" als einen haben kannst, ohne endlose Eventkopiererei zu betreiben, musst du mit "parents" arbeiten. Alles was für den parent gilt, gilt auch für das "child" (das wird so nicht bezeichnet, aber es ist der einzig treffende Name). Also machst du ein obj_block_parent und ein obj_monster_parent. die collision events erstellst du für diese beiden im player, und nicht für die "childs". Jetzt machst du bei allen deinen Monstern als parent obj_monster_parent (linke seite im Objektmenü, da wo du auch Sprite, etc. festlegst) und bei den Blöcken das selbe. Jetzt kannst du soviele Blöcke und Monster haben wie du willst.
    €dit: rächtsraibung ferbessad
    @Prustel: Ich bin auch C :sauf:
    Oha, die Danksagungen häufen sich... <(o.O)> <(^.^)>
    PM me.

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

  • mmm naja, danke an alle die mir geholfen haben!

    aber jetzt hätt ich noch ein problem...Ich habe einen startbilschirm gemacht mit schrift(aufm background)und hab da drauf unsichtbare objekte gesetzt sodass wenn man auf die schrift klickt das spiel startet. das geht auch sehr gut, aber man kann den cursor nicht sehen und das bild ist viel zu groß. bei letzterem habe ich mir gedacht, naja muss man ja kleiner machen können. so habe ich auf den room geklickt, auf views und hab alles so eingestellt wie bei den anderen rooms auch(bis auf objekt folloring(oder so :D )aber es tut sich nichts!
    Danke!
  • also um den cursor sehen zu können musst du in den global game settings auf der ersten seite ein haken machen bei display cursor.
    um den room zu verkleinern klickst du beim room auf settings und kannst dort dann bei width und height gewünschte größe und breite eingeben.
  • das mit with und high gibt ja nur an wie groß der raum ist. bei mir ist ja das fenster zu groß.

    und die kästchen von denen fabse gesprochen hat habe ich nicht "angehakt"

    EDIT mm aber wenn ich sie anhake gehts danke!
    Danke!