obj soll an chara "festkleben"

  • GM 7
  • hm, etwas schreibfaul, was?

    Mit festkleben meinst du doch das sich das Objekt genau wie der chara bewegt?
    Also musst du nur
    obj.x = char.x;
    obj.y = char.y;
    schreiben.
    Wenn das Objekt versetzt sein soll, musst du nur Werte noch addieren oder subtrahieren.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • ___________________________________________
    ERROR in
    action number 1
    of Step Event
    for object obj_chara_down:

    Error in code at line 1:
    x = obj_sword.x

    at position 15: Unknown variable x

    es sollte dann sein, wenn ich <space> drücke

    Edit:
    und bei deiner Methode dragongamer, passiert gar nichts;(

    um mein game zu erklären:
    für jede richtung hab ich n obj gemacht, und jetzt, wenn ich mein schwert mache ins spiel an meinen chara machen will, und mich dabei bewege, dann bleibt das schwert am punkt stehen, wo ich es ertellt habe

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

  • Also bin das jetzt nochmal genau durchgegangen :D
    @DragonGamer: Jop bin ich

    also ich beschreibs nochmal so gut ich kann obwohl es eig. nicht anders ist wie es Dragon Gamer gesagt hat.

    Step-Event

    GML-Quellcode

    1. obj_sword.x = obj_chara_down.x;
    2. obj_sowrd.y = obj_chara_down.y;

    Egal in welches Obj du das jetzt einfügst (es muss aber im Raum sein) sollte das schwert immer am Charakter sein...

    Hoffe es klappt

    MfG Rodrog

    Edit: Obs in space auch klappt weiß ich nicht
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • öh, deine Problem sind etwas eigenartig.
    x kann normaler weise keine unbekannte variable sein da jedes objekt x und y Koordinaten haben O_o
    Sicher dass Instanzen von beiden Objekten existieren wenn du den Code ausführst?
    Und ja, er muss ins step event!


    EDIT: oh hilfe, hier ist mal wieder zu viel los...
    das mit schreibfaul war an den Treadhersteller gerichtet xD, du hattest nur in der Zwischenzeit gepostet.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • ok, dann mach ins space pressed event:
    Instance_create(char.x,char.y,obj_sword);

    und ins step event des Schwerts, das was ich vorhin gepostet habe.
    Achte darauf dass das Schwert eine niedrigere depth hat als der Char damit das Schwert über dem Char erscheint und nicht von ihm verdeckt wird.



    Edit: xd 2 Posts, selbe Minute, selber Inhalt O_o

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Öhm, du erstellst das Object mit space

    Space von obj_chara_down

    GML-Quellcode

    1. instance_create(x,y,obj_swort);


    Step-Event von obj_swort

    GML-Quellcode

    1. obj_sword.x = obj_chara_down.x;
    2. obj_sowrd.y = obj_chara_down.y;
    3. bzw.
    4. x = obj_chara_down.x;
    5. y = obj_chara_down.y;


    Mfg Rodrog



    So schwer ist das doch nicht ;)
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Das kann eig. blos nur dann sein wenn das Object garnicht mal existiert oder vllt. ist das obj falsch geschrieben, achte auf Groß und klein buchstaben...
    Anders kann ich das mir nicht vorstellen.

    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • lässt du das Object (chara_down) vllt löschen oder in ein anders Object verändern wenn du <space> drückst,
    sonst versuch es so

    Space von chara _down

    GML-Quellcode

    1. instance_create(x,y,obj_swort);
    2. global.schlagenx = x;
    3. global.schlageny = y;


    Step-Event vom Schwert

    GML-Quellcode

    1. obj_sword.x = global.schlagenx;
    2. obj_sowrd.y = global.schlageny;
    3. bzw.
    4. x = global.schlagenx;
    5. y = global.schlageny;


    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • Jop und wenn du schlägst bewegst du dich da auch??? oder schlag einfach nur mal ohne dich zu bewegen... :D
    Versuch mal meinen code den ich vorrigen Post gepostet hab, und wenn der nicht klappt, dann weiß ich nicht mehr sry

    MfG Rodrog

    Edit: Im oberen Post hab ich swort geschrieben gehört aber sword, vllt. war ja das...
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • nein, wenn ich mich bewege, dann bleibt das obj, das selbe, aber
    ich probiers nochma

    EDIT: nein, imma noch nich,
    aber ich probiers mal, indem ich den sprite anders mache, dass es trotzdem so aussieht

    EDIT EDIT:
    ok, ich hab jetzt meinen chara angehalten, sodass das schwert jetzt am richtigen ort is, quasi:
    ich klicke space, chara hält an und fuchtelt mit dem schwert, trotzdem danke euch beiden für die mühe ;)

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

  • Naja er hats mir schon geschickt... also der fehler war

    Er hatte 4 Objecte (nach rechts, links runter, rauf) und er hat die objecte immer ausgetauscht, dann ist klar das das object dann nicht existiert..., daher wusste man ja nicht (wenn es nicht existeiert) wo die x bzw. y-Koordinaten von dem Object sind

    Lösung:

    GML-Quellcode

    1. if instance_exists(obj_chara_down) == true
    2. {
    3. x = obj_chara_down.x;
    4. y = obj_chara_down.y;
    5. }
    6. if instance_exists(obj_chara_up) == true
    7. {
    8. x = obj_chara_up.x;
    9. y = obj_chara_up.y;
    10. }
    11. if instance_exists(obj_chara_right) == true
    12. {
    13. x = obj_chara_right.x;
    14. y = obj_chara_right.y;
    15. }
    16. if instance_exists(obj_chara_left) == true
    17. {
    18. x = obj_chara_left.x;
    19. y = obj_chara_left.y;
    20. }
    Alles anzeigen
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.