Keyboard auf eigenes Object aufnehmen

  • GM 8

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

  • Keyboard auf eigenes Object aufnehmen

    hallo:)

    ich habe auf obj_player Step event diesen code:

    GML-Quellcode

    1. if keyboard_check(ord("D"))
    2. {
    3. if !place_meeting(x+sped,y,obj_solid)//walk right
    4. {
    5. x+=sped;
    6. }
    7. else
    8. if !place_meeting(x+sped,y-sped*2,obj_solid)//walk right onto a slope
    9. {
    10. x+=sped;
    11. y-=sped*2;
    12. move_contact_solid(270,8);
    13. }
    14. }
    Alles anzeigen


    Jedenfalls habe ich ein neues Object erstellt mit einem Sprite, wenn das Object mit "Left Button" gedrückt wird soll der Spieler nach rechts gehen. Also kein Keyboard, aber wie stelle ich das an dass der Spieler aufgeruft wird. Da es ja kein Player Object ist.



    dankeschön, :D
  • Also das code:

    Spoiler anzeigen

    GML-Quellcode

    1. if keyboard_check(ord("D"))
    2. {
    3. if !place_meeting(x+sped,y,obj_solid)//walk right
    4. {
    5. x+=sped;
    6. }
    7. else
    8. if !place_meeting(x+sped,y-sped*2,obj_solid)//walk right onto a slope
    9. {
    10. x+=sped;
    11. y-=sped*2;
    12. move_contact_solid(270,8);
    13. }
    14. }
    Alles anzeigen


    Möchte ich von obj_Player der Step event auf dem neuen Object nehmen. Das neue Object hat eine Sprite von "Pfeil nach rechts", damit das auf dem HTML5 im Handys besser gespielt werden kann. Dass muss ich so ändern, dass es nach "Left Button" der code auf dem Player betrifft.
  • Ich glaube er möchte mit seinem "Knopf" den code aufrufen für den obj_Player Step Event.

    Die einfachste Möglichkeit wäre den Code aus dem Step Event einfach zu kopieren und in deinen Knopf einzufügen.
    Dazu müsstest du natürlich alle variablen die das Player objekt betreffen genau deklarieren.

    also statt:

    GML-Quellcode

    1. ...
    2. if !place_meeting(x+sped,y,obj_solid)//walk right
    3. ...


    dann

    GML-Quellcode

    1. ...
    2. if !place_meeting(obj_Player.x+sped,obj_Player.y,obj_solid)//walk right
    3. ...


    Einfacher wäre es natürlich bei dem knopf einfach das Step event aufzurufen... Und wenn das geht... würde ich es auch gerne wissen :D
  • Funktioniert immer noch nicht.

    Habe es auf dem neuen Object dass nur "Left Button als Event" hat das angegeben:

    GML-Quellcode

    1. if !place_meeting(obj_player.x+sped,obj_player.y,obj_solid)//walk right
    2. {
    3. x+=sped;
    4. }
    5. else
    6. if !place_meeting(x+sped,y-sped*2,obj_solid)//walk right onto a slope
    7. {
    8. x+=sped;
    9. y-=sped*2;
    10. move_contact_solid(270,8);
    11. }
    Alles anzeigen
  • Du musst schon alle x / y abfragen auf das obj_player ändern.

    GML-Quellcode

    1. if !place_meeting(obj_player.x+sped,obj_player.y,obj_solid)//walk right
    2. {
    3. obj_player.x+=sped;
    4. }
    5. else
    6. if !place_meeting(obj_player.x+sped,obj_player.y-sped*2,obj_solid)//walk right onto a slope
    7. {
    8. obj_player.x+=sped;
    9. obj_player.y-=sped*2;
    10. move_contact_solid(270,8);
    11. }
    Alles anzeigen


    Wenn die Variable sped nur im obj_player objekt exisitert musst du die auch ändern in -- obj_player.sped --

    Kleine Rechtschreibinfo: sped soll wohl das englische Wort für Geschwindigkeit sein. Dieses schreibt man aber mit zwei "e" ;)