Hüpfen in 3d

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

  • Hüpfen in 3d

    wie kann ich meinen Player in 3d hüpfen lassen? hier ist der draw code von meinem Player:

    GML-Quellcode

    1. d3d_transform_set_identity()
    2. d3d_transform_add_translation(-x,-y,0)
    3. d3d_transform_add_rotation_z(direction)
    4. d3d_transform_add_translation(x,y,0)
    5. d3d_draw_cylinder(x-2,y-2,z,x+2,y+2,z+3,background_get_texture(tex1),1,1,1,25)
    6. d3d_transform_set_identity()

  • Puuhhh...*Plopp* und die Antwort is' da^^

    Das is' immer so 'ne Sache, ich mach es selber manchmal ( aber nie zuende^^ ), die viele bugs werfen kann...

    Erstmal : Zgravity, Zfloor und Zspeed - Variablen entwerfen.
    Dann würde ich das in etwa so machen :

    Step-Event

    GML-Quellcode

    1. if z >= zfloor
    2. {
    3. zspeed = 0
    4. zgravity = 0
    5. z = zfloor
    6. }
    7. else
    8. {
    9. zgravity = 0.5 //oder 'n bisschen mehr/weniger
    10. }
    11. if zspeed > 12 //oder die maximale z-geschwindigkeit
    12. {
    13. zspeed = 12
    14. }
    Alles anzeigen

    erinnert schon mal sehr an Platformer, oder? Soll es auch ;)
    Weiterhin machste ein objBlockPar ( oder so ), lässt einen 3d-block malen im draw-event. Als z nimmste dann z und als z2 zheight, als x z.b.

    GML-Quellcode

    1. sprite_width / 2
    2. [gml]
    3. oder so.
    4. Danach kommt das objBlock32x32x32 ( oder so ma' wieda :P ), gibst ihm eine 32x32 - große mask.
    5. Ins create-event kommt dann
    6. [gml]
    7. zheight = 32
    8. z = 0//oder so

    .
    Dann machste beim Player - Kollision mit objBlockPar ( oder wie du es genannt hast ) schließlich

    GML-Quellcode

    1. zfloor = other.z + other.zheight

    und dann ins z.b. keyboard-Space event

    GML-Quellcode

    1. if z == zfloor
    2. {
    3. z += 1
    4. zspeed = 12 //oder eine andere Sprungstärke
    5. }


    Wird bestimmt noch verbuggt sein ( DAS ist ungetestet ), aber ich hoffe, ich konnte dich auf eine Idee bringen, die dir "sagt", wie das geht.

    Mfg, Phoenix ;)

    EDIT:WOOT!!! Ich hab 10 minuten für diesen einen Post gebraucht - Hilfe :rolleyes:
  • Benutzer online 2

    2 Besucher