Kisten mit obj_player verschieben...

  • GM 8

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

  • Kisten mit obj_player verschieben...

    hallo, ich habe mal ne frage, nämlich wie man jetzt mit dem spieler kisten verschieben kann.
    wenn ich jetzt die figur nach rechts bewege, (gegen die kiste) soll sie sich ja mit nach rechts bewegen, kann mir da jemand helfen?
    Aktuelle Projekte:

    • PacTobs 1(comming soon...) :gmlove:
    • PacTobs 2
    • ??? Quiz
    • Panzer-Spiel
    • Mario IN:The War of the Mushroom Kingdom!!
    • Ein Koopa-Spiel
    • Platform Spiel.

  • Das duerfte mit collision_rectangle() oder collision_line() ganz gut funktionieren.
    Also, so muesste es klappen (das kommt ins Step-Event des Players):

    GML-Quellcode

    1. var boxL, boxR;
    2. boxL = collision_rectangle(bbox_left-10,bbox_top,bbox_left,bbox_bottom,obj_box,1,1);//Kollision mit der Box, falls diese links vom Player ist
    3. boxR = collision_rectangle(bbox_right,bbox_top,bbox_right+10,bbox_bottom,obj_box,1,1);//Kollision mit der Box, falls diese rechts vom Player ist
    4. if(keyboard_check(vk_right) && instance_exists(boxR))//falls nach rechts gedrueckt wird und eine Box auf der rechten Seite des Players ist
    5. boxR.x += 5;
    6. if(keyboard_check(vk_left) && instance_exists(boxL))//falls nach links gedrueckt wird und eine Box auf der linken Seite des Players ist
    7. boxL.x -= 5;


    Habs nicht getestet, aber die Idee dahinter mueestest du verstanden haben.

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • funcktioniert... nur ich habe es nicht mit oben & unten hinbekommen... könntest du mir nicht für oben & unten machen? danke,
    Aktuelle Projekte:

    • PacTobs 1(comming soon...) :gmlove:
    • PacTobs 2
    • ??? Quiz
    • Panzer-Spiel
    • Mario IN:The War of the Mushroom Kingdom!!
    • Ein Koopa-Spiel
    • Platform Spiel.

  • Teste mal das:

    GML-Quellcode

    1. var boxL, boxR;
    2. boxL = collision_rectangle(bbox_left-10,bbox_top,bbox_left,bbox_bottom,obj_box,1,1);//Kollision mit der Box, falls diese links vom Player ist
    3. boxR = collision_rectangle(bbox_right,bbox_top,bbox_right+10,bbox_bottom,obj_box,1,1);//Kollision mit der Box, falls diese rechts vom Player ist
    4. if(keyboard_check(vk_right) && instance_exists(boxR))//falls nach rechts gedrueckt wird und eine Box auf der rechten Seite des Players ist
    5. boxR.x += 5;
    6. if(keyboard_check(vk_left) && instance_exists(boxL))//falls nach links gedrueckt wird und eine Box auf der linken Seite des Players ist
    7. boxL.x -= 5;
    8. if(keyboard_check(vk_down) && instance_exists(boxL))//falls nach links gedrueckt wird und eine Box auf der linken Seite des Players ist
    9. boxL.y -= 5;
    10. if(keyboard_check(vk_up) && instance_exists(boxL))//falls nach links gedrueckt wird und eine Box auf der linken Seite des Players ist
    11. boxL.y += 5;
    Alles anzeigen
  • @Rohkar: So wird das nicht funktionieren. "Copy" und "Paste" is immer so ne Sache nä...

    Also, es sollte so gehen (jetzt nur für oben und unten, da du ja links und rechts schon hast):

    GML-Quellcode

    1. var boxU, boxD;
    2. boxU = collision_rectangle(bbox_left,bbox_top-10,bbox_right,bbox_top,obj_box,1,1); //Eine Box über dem Player
    3. boxD = collision_rectangle(bbox_left,bbox_bottom,bbox_right,bbox_bottom+10,obj_box,1,1); //Eine Box unter dem Player
    4. if(keyboard_check(vk_up) && instance_exists(boxU)) //Es wird nach oben gedrückt und eine Box über dem Player existiert
    5. boxU.y -= 5;
    6. if(keyboard_check(vk_down) && instance_exists(boxD))//Es wird nach unten gedrückt und eine Box unter dem Player existiert
    7. boxU.y += 5;


    BTW: Ein wenig logisch nachdenken schadet nie.

    MfG

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • Ja ich hätte jezt noch nachdenken können aber da ich gerade nur kurz eine Antwort machen wollte die ihm ein bisschen weiterhilft, und ich sowie so gerade zu tun hatte habe ich nur kurz das zusammengekleistert. Naja wenn es nicht geklappt hätte könnte er es auch ändern dann hätte er mehr dabei gelernt.(Ich weiß gerade nicht b er GML Anfänger oder D&D Einsteiger ist wenn er das 1. ist dann hätte er es ändern können.)
  • @Rohkar:

    Rohkar schrieb:

    (Ich weiß gerade nicht b er GML Anfänger oder D&D Einsteiger ist wenn er das 1. ist dann hätte er es ändern können.)
    Ähm...
    Selbsteinschätzung: GML Anfänger

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.