Wie in Mario Bros

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

  • Wie in Mario Bros

    Hey Leute, ich hab jetzt nicht so viel ahnung von GameMaker: Studio und wollte deshalb was fragen.
    Unzwar ich möchte das obj_player wie in Mario Bros stirbt wenn er obj_gegner berührt.
    Ich weiß nicht wie das geht und frage euch bitte hilfe :)
    danke im voraus :)

    obj_player

    hspeed = 0

    if gamepad_button_check(0, gp_padr)
    hspeed += 18
    if gamepad_button_check(0, gp_padl)
    hspeed -= 18

    if place_free(x+hspeed,y) == false
    {
    if hspeed > 0
    move_contact_solid(0,-1)
    if hspeed < 0
    move_contact_solid(180,-1)
    hspeed = 0
    }

    vspeed += 4

    if place_free(x,y+vspeed) == false
    {
    if vspeed > 0
    move_contact_solid(270,-1)
    if vspeed < 0
    move_contact_solid(90,-1)
    vspeed = 0
    }

    if gamepad_button_check_pressed(0, gp_face1)
    if place_free(x,y+10) == false
    vspeed = -44

    if place_free(x+hspeed,y+vspeed) == false
    hspeed = 0

    if gamepad_button_check_released(0, gp_face1)
    if vspeed < 0
    vspeed /= 3

    obj_gegner
    hspeed = 0

    if keyboard_check(ord("D"))
    hspeed += 9
    if keyboard_check(ord("A"))
    hspeed -= 9

    if place_free(x+hspeed,y) == false
    {
    if hspeed > 0
    move_contact_solid(0,-1)
    if hspeed < 0
    move_contact_solid(180,-1)
    hspeed = 0
    }

    vspeed += 4

    if place_free(x,y+vspeed) == false
    {
    if vspeed > 0
    move_contact_solid(270,-1)
    if vspeed < 0
    move_contact_solid(90,-1)
    vspeed = 0
    }

    if place_free(x+hspeed,y+vspeed) == false
    hspeed = 0
  • Erstmal Willkommen im Forum :)

    Zweitens: Eine Kollision zwischen zwei Objekten kannst du mit dem Befehl place_meeting() abfragen.

    Hau dir einfach das ins Step Event von obj_player:

    GML-Quellcode

    1. if place_meeting(x,y,obj_gegner)
    2. {
    3. //Hier Code einfügen was passiern soll wenn Player Gegner berührt zb.: instance_destroy()
    4. }
  • Du könntest eine globale variable erstellen und sie death nennen bei den gegnern dann if global.death dann z.B vspeed=0 und bei mario im step event if global.death sprite_index = mario_tot
    (Ich weiß halt nicht mit welchen variablen du arbeitest aber so sollte es von der theorie auch gehen) for(var i=0;i<8;i++){
    y -= 3
    }
    und dann fällt er wieder wegen deiner programmierten gravitation runter
    Wir stehen zusammen und wir fallen zusammen