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
if z >= zfloor
{
zspeed =0
zgravity =0
z = zfloor
}
else
{
zgravity =0.5//oder 'n bisschen mehr/weniger
}
if zspeed >12//oder die maximale z-geschwindigkeit
{
zspeed =12
}
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
sprite_width/2
[gml]
oder so.
Danach kommt das objBlock32x32x32 ( oder so ma' wieda :P ), gibst ihm eine 32x32 - große mask.
Ins create-event kommt dann
[gml]
zheight =32
z = 0//oder so
.
Dann machste beim Player - Kollision mit objBlockPar ( oder wie du es genannt hast ) schließlich
GML-Quellcode
zfloor =other.z +other.zheight
und dann ins z.b. keyboard-Space event
GML-Quellcode
if z == zfloor
{
z +=1
zspeed =12//oder eine andere Sprungstärke
}
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