Lua, warten und springen - Druckversion +- KINGx - Das inoffizielle PlayStation Forum & News Portal (http://www.kingx.de/forum) +-- Forum: PS Vita / PSP (/forumdisplay.php?fid=1) +--- Forum: Homebrew (/forumdisplay.php?fid=8) +---- Forum: Development (/forumdisplay.php?fid=34) +---- Thema: Lua, warten und springen (/showthread.php?tid=65190) |
Lua, warten und springen - luaprogrammer - 07.07.2012 08:51 Hi, heute hab ich gleich 2 Fragen: 1: Gibt es in Lua eine möglichkeit zu warten also "tue das, dann warte 2 sekunden, dann tue das" <-- jaaaa... so ungefähr halt 2: Wie könnte mann in einem kleinem 2d spiel (super-mario sicht) einem charackter das springen beibringen? also das der typ sich hoch und wieder runter bewegt. wenn ich dass so ungefähr mache: Code: if pad:up() then
RE: Lua, warten und springen - SIM sk - 07.07.2012 09:45 zum erstem: Was hatte er gemacht und wann soll er denn warten? Zum zweitem: probiere ich später wenn ich Zeit haben sollte RE: Lua, warten und springen - luaprogrammer - 07.07.2012 10:22 Zum ersten: für alle möglichen sachen z.b diese hier: Code: function ccz(object)
RE: Lua, warten und springen - dark-awesome - 07.07.2012 10:40 Code: if pad:up() then
Code: if pad:up() and playerJump < 1 then
(< ist gleich < wird nur von der Codebox anders dargestellt) Spoiler: (anzeigen) RE: Lua, warten und springen - duLouser - 07.07.2012 11:01 wie dark-awesome schon schön sagt, darfst du nicht alle rechenschritte in einer sekunde ausführen lassen: dark-awesome : Code:
if pad:up() then playerJump = 1 end if playerJump == 1 then Player.y = Player.y - 1 if Player.y == 10 then playerJump = 2 end end if playerJump == 2 then Player.y = Player.y + 1 if Player.y == 20 then playerJump = 0 end end Bild ausgabe...
RE: Lua, warten und springen - dark-awesome - 07.07.2012 11:06 duLouser : ich persöhnlich würde aber, wenns wie bei mario sein soll, auch nur einmal abspringen:
if pad:up() and Player.y == 272 then Player.yspeed = Player.yspeed + 5 end Player.y = Player.y - Player.yspeed if Player.y > 272 then Player.y = 272 end if Player.y < 272 then Player.yspeed = Player.yspeed - 0.03 end
RE: Lua, warten und springen - luaprogrammer - 07.07.2012 11:11 Jo, danke, klingt gut, ich werde es gleich ausprobieren. aber eine frage, wenn mann den befehl "scren.waitVblankStart()" benutzt müsste ja der bildschrim warten, also dass in der zeit überhaupt garnichts mehr passiert/gemachtwerden kann. oder irre ich mich. aber trotzdem danke, ich werde es probieren, wen ishc probleme ergeben melde ich mich nocheinemal. RE: Lua, warten und springen - luaprogrammer - 07.07.2012 12:21 Ok, habs mit beidem mal ausprobiert, mit dem ersten hats wie gesagt zwar funktioniert, aber wenn der spieler mal auf einer anderen höhe seien solte funktioniert dies natürlich nicht mehr. aber trotzdem danke zum zweiten, gibt es wenig zu sagen: er funkitoniert nicht. ich habe ihn ein bisschen abgeändert dass er dann so aussah: Code: Player.yspeed = 0
Code: Player.yspeed = 0
RE: Lua, warten und springen - dark-awesome - 07.07.2012 12:44 luaprogrammer : Ok, habs mit beidem mal ausprobiert, mit dem ersten hats wie gesagt zwar funktioniert, aber wenn der spieler mal auf einer anderen höhe seien solte funktioniert dies natürlich nicht mehr.
aber trotzdem danke
RE: Lua, warten und springen - luaprogrammer - 07.07.2012 16:20 ok, danke RE: Lua, warten und springen - secret - 07.07.2012 17:50 Ich bin mir nicht sicher aber für springen brauchst du glaube ich die gravitation Formel.... oder so ähnlich ich hab davon nicht viel Ahnung Quelle: http://de.wikipedia.org/wiki/Gravitationskonstante RE: Lua, warten und springen - luaprogrammer - 07.07.2012 19:49 :D klaaar =) verlange aber kein danke von mir RE: Lua, warten und springen - SIM sk - 08.07.2012 08:13 sieh dir mal diesen Code auf Evilmana an. Versuche ihn zu verstehen und ihn so umzuändern, dass er zu deinem Code passt RE: Lua, warten und springen - Neutrosider - 08.07.2012 11:40 secret : Ich bin mir nicht sicher aber für springen brauchst du glaube ich die gravitation Formel....
oder so ähnlich ich hab davon nicht viel Ahnung Quelle: http://de.wikipedia.org/wiki/Gravitationskonstante
Code: Player.y = Player.y + Player.vy
Code: a = 2 //Das ist die stärke der gravitation im spiel, 9,81 dürfte dafürs gameplay zu stark sein, musste ausprobieren welcher wert gut ist
Code: a = 2
RE: Lua, warten und springen - luaprogrammer - 08.07.2012 13:16 o.O ok danke! und eismal wirklich mal gucken ob der funktioniert, der von evilmana hat nur halb funktioniert, er hatte ein paar... bugs RE: Lua, warten und springen - SIM sk - 08.07.2012 16:00 Neutrosider : Wenn er Physikalisch korrekt da ran gehen will, sollte we viel mehr nur mit der Erdgravitation (etwa 9,81 m/s-²) arbeiten. nenn wir sie mal sinngemäß a (a für acceleration -> Beschleunigung)
So viel ich weiß gehört da noch ein Hoch-Minus dazu
RE: Lua, warten und springen - Neutrosider - 08.07.2012 16:20 SIM sk : Neutrosider : Wenn er Physikalisch korrekt da ran gehen will, sollte we viel mehr nur mit der Erdgravitation (etwa 9,81 m/s-²) arbeiten. nenn wir sie mal sinngemäß a (a für acceleration -> Beschleunigung)
So viel ich weiß gehört da noch ein Hoch-Minus dazu
RE: Lua, warten und springen - SIM sk - 08.07.2012 17:03 Neutrosider : SIM sk : Neutrosider : Wenn er Physikalisch korrekt da ran gehen will, sollte we viel mehr nur mit der Erdgravitation (etwa 9,81 m/s-²) arbeiten. nenn wir sie mal sinngemäß a (a für acceleration -> Beschleunigung)
So viel ich weiß gehört da noch ein Hoch-Minus dazu
RE: Lua, warten und springen - dark-awesome - 09.07.2012 21:44 Ich bin baff was Neutrosider hier abliefert Ich denke mal ich hätte mir das einfach alles so angepasst das es gut rüber kommt. Ich hätte das höchsten so gemacht: collision = 0 .... if irgendeine_player_collision_zum_boden_block_usw then collision = 1 end if pad:up() and playerJump < 1 then playerJump = 1 end if playerJump == 1 then Player.y = Player.y - 1 if Player.y == 10 then playerJump = 2 end end if playerJump == 2 then Player.y = Player.y + 1 if Player.y == 20 then playerJump = 3 end end if playerJump == 3 and collision == 0 then Player.y = Player.y + 1 if collision == 1 then playerJump = 0 end else //weis nicht mehr ob man so else und if in Lua macht ich weis gar nicht ob man so einen Kommentar macht :/ playerJump = 0 end Bild ausgabe... ---------- Dann hätte ich die Variablen noch so angepasst das es gut im Spiel passt und fertig Ich hätte ihn dann noch so angepasst das man je nach dem wie lange man Hoch drückt höher und niedriger springen kann. RE: Lua, warten und springen - luaprogrammer - 10.07.2012 14:05 oh gott.... ihr redet hier von zueg dass ich noch nicht einmal verstehe o.O ich mein ja nur... aber ich hatte eigentlich schon eine lösung von evilmana, allerdings hat die ein paar bugs, ich schau mal ob diehier besser ist |