Ausrüstung

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

  • Hallo.

    Ich habe in der SuFu geschaut un nichts genaues gefunden, also frage ich mal.

    Also es gibt da einen Charakter. Und man kann Ausrüstugen/Waffen etc finden.

    Wie mache ich es, das wenn man diese anlegt, sie auch am CHarakter sind?

    Muss ich den ganz viele Sprites von den CHarakter machen, also malmit dem Umhang und der Waffe oder gibt es eine einfachere Lösung, das ich nur alle Waffen Spriten muss und nur einmal den Charakter?

    Weil z.B. wenn er CHarakter die Hand schwinkt muss die Waffe ja mitmachen
    They´ll take you in a land of Mysteries and Magic to defence it from the darkness...
  • Versuch es damit:

    Das kommt im step Event der Waffe:

    GML-Quellcode

    1. x = object_player.x
    2. y = object_player.y


    Und damit es richtig aussieht musst du noch den Origin an der Hand des players setzen

    mfg frischi

    PS: Ich bin GML anfänger, und konnte das. Du gibst an du seihst GML Fortgeschrittener. Das würde ich ändern, da man dich sonst bei anderen Frage mit haufenweise Code zutexten wird ;)



  • gratulation zu deinem unglaublichen einfall frischideu......aber das is wohl nicht gerade hilfreich, denn:

    einerseits wollte er dass die waffe auch bei einer bewegung die nur vom arm ausgeht, dass sich das schwert mitbewegt
    Weil z.B. wenn er CHarakter die Hand schwinkt muss die Waffe ja mitmachen
    und andererseits ist die waffe immer ein stückchen verstzt wenn er läuft.



    ich denke dass es eine gute idee wäre die körperteile in verschiedene objekte zu teilen, um sie leicheter zu texturieren mit der rüstung + das schwert leichter an die bewgung des armes anzugleichen....ich weiß aber leider nicht genau wie man das zum funktionieren bringen könnte :(
  • Danke JOhannski :para:

    Aber das kann er nur zu einfach lösen indem er im keypress Event der Waffe den Sprite wechselt ;)
    Und wenn das dann nicht mehr so aussieht als ob er sie in der Hand hält dann liegt es an einer falschen Animation des Sprites.



  • Ich benutze genau den gleichen Code den frischideu gepostet hat.
    Wenn du das ganze in den End-Step deines Ausrüstungsobjekts packst vermeidest du, dass die Ausrüstung hinterher hängt beim Bewegen.
    Ich persönlich finde das "Hinterherruckeln" aber ganz cool da mein Charakter z.B. keine Laufanimation hat, die Dynamik aber dadurch entsteht, dass sich seine Arme ein wenig versetzt zum Körper bewegen.

    Ansonsten kann ich das empfehlen was johannski gesagt hat, einfach den Charakter aus mehreren Einzelteilen zusammensetzen. Ich habe z.B. eigene Sprites für den Körper, die Arme und das Gesicht. So baue ich mir immer meine Charaktere aus einer Art Baukasten zusammen und kann einzelne Teile recht fix ändern ohne alle Sprites überarbeiten zu müssen.

    Musst du halt mal ausprobieren ob das zu deinem Charakterdesign passt bzw. von deinen Sprites her möglich ist.
  • Ich würde lieber das Draw Event bevorzugen, da man am Ende dann 20 Extraobjekte nur für die Waffen und den Körper hat. Ansonsten kannst du dir überlegen, ob du die Körperteile einzeln machst oder einfach eine nichtanimierte Gesamtfigur benutzt. Das mit dem Mitschwenken der Waffe sollte eigentlich auch kein Problem darstellen, da du die Waffe ja direkt an den Winkel der Hand anpassen kannst. Und dargestellt werden diese Einzelteile natürlich mit der draw_sprite_ext(...); Funktion (fürs Rotieren etc.). Der Rest ist eben das Probieren, sodass die Waffe auch an der richtigen Koordinate sitzt.

    mfg Crit
  • man kann den code von frischideu auch im Begin Step Event verwenden um das nachziehen zu verhindern. Das Sprite wird also vor dem Step versetzt und so ist es immer richtig positioniert.
    Wenn die Waffe oder die Ausrüstung in der Hand gehlaten wird kann man auch auf so einen code zurückgreifen:

    GML-Quellcode

    1. dir = point_direction(object_player.x,object_player.y,mouse_x,mouse_y)
    2. x = object_player.x+lengthdir_x(64,dir)
    3. y = object_player.y+lengthdir_y(64,dir)


    Dieser code versetzt das Sprite z.B. in Richtung des Mauszeigers. Also sehr gut geeignet für dinge die in der Hand gehalten werden.

    EDIT: manchmal ist es übrigens sinniger keine eigenen objecte für die Ausrüstung zu erstellen, sondern von einem object mehrere Sprites übereinander zeichenen zu lassen.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x