Schwertcollision

  • GM 8

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

  • Schwertcollision

    Hey Leute,

    wie kann ich es machen, dass bei meinem RPG nur der Gegner getötet wird, wenn er das Schwert berührt, dass ich in einer Sprite habe, in der der Player es in der Hand hält? (wie bei Zelda)

    Hoffe ihr könnt mir Helfen
  • Öffnen Gamemaker tun
    Doppelklick sprite
    Im neuen Fenster "Modify Mask"
    Im neuen Fenster "Manuel" mitte oben sein, drauf klicken du tust .
    Im rechten Bild wo sprite gezeigt wird mit Maus rechtsklick Maske ziehen oder
    XY Positionen eingeben

    PS: falls du weiter mit sowas arbeitest solltest du dir, diese Funktionen angucken, mit "if collision_rectangle(x+sprite_width ...) " kann man

    auch sehr gut kollisionen an bestimmten Punkten überprüfen!

    collision_point(x,y,obj,prec,notme)
    collision_rectangle(x1,y1,x2,y2,obj,prec,notme)
    collision_circle(xc,yc,radius,obj,prec,notme)
    collision_ellipse(x1,y1,x2,y2,obj,prec,notme)
    collision_line(x1,y1,x2,y2,obj,prec,notme)

    ;) GL & HF ;) hoffe es klappt c: und sry für die Yoda Grammatik ;)
    Wie viele von euch wissen, dass Rot und Grün Gelb ergibt?
  • Mach doch einfach das Schwert direkt bei deinem Player rein?
    Dann setzt du die Maske auf das Schwert und falls du dich in eine Richtung bewegst
    (r,l,o,u) spiegelst du bzw. drehst du einfach das sprite.
    image_xscale=-1 müsste spiegeln sein
    und image_angle=0/90/180/270 ist die Drehung um die Achse des sprites
    Dabei ist nur wichtig das der "Origin" zentriert ist, bedeutet du gehst auf das Player-sprite
    und dann unten links auf "Center"
    Wie viele von euch wissen, dass Rot und Grün Gelb ergibt?
  • Mach gleich ein eigenes objekt fürs Schwert.
    Wenn du dann die 'Angriffs-Taste' drückst,
    lässt du es beim player erstellen, und prüfst in welche richtung der player sieht:

    Player

    Angriffs-Taste Event

    GML-Quellcode

    1. if !instance_exists(obj_sword) instance_create(x,y,obj_sword)
    2. // Schwert kann nur erstellt werden, wenn keins existiert



    Schwert

    Create Event

    GML-Quellcode

    1. image_speed= 0;
    2. alarm[0]= was du willst;
    3. switch(global.player_direction){
    4. case 0: image_index=0;break
    5. case 1: image_index=1;break
    6. case 2: image_index=2;break
    7. case 3: image_index=3;break
    8. }
    9. // Prüft die Richtungen


    Alarm 0 Event

    GML-Quellcode

    1. instance_destroy();
  • Sry war kurz weg,
    müsste klappen, habs bisschen was umgeändert, dürfte einfacher sein^^ falls du was nicht verstehst frag ruhig
    bzw. -> hab nicht alles "geglättet" da ich finde das jeder die Chance haben sollte aus seinen Fehlern zu lernen, aber Tipp:
    Wenn du mehr Monster machst, oder Dinge die du angreifen kannst, benutze die "Parent"-Funktion, bedeutet:
    erstelle ein obj "obj_Collisionsword" und setze bei allen Collisionsfragen mit dem Schwer dieses Objekt in die Zeile.
    Alle anderen Objekte, welche durch das Schwert "angegriffen werden" können, also Monster, kriegen als "Parent"
    (also Editor für dieses Objekt öffnen und links unten im Fenster ein Parent-objekt auswählen) das Objekt "obj_collisionsword"
    sodass alle Objekte die dieses Objekt als Parent haben bei einer Collision mitbetroffen sind!
    mfg nis
    Dateien
    • LOR.rar

      (20,34 kB, 180 mal heruntergeladen, zuletzt: )
    Wie viele von euch wissen, dass Rot und Grün Gelb ergibt?

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