Swiftで2段ジャンプを実装してみた
ジャンプゲームを作りたくなったので、制作を始めました。
んで、ジャンプと言えば、やっぱ2段ジャンプじゃないですか。あれがカッコいいなと思ったんで、早速実装してみました。
2段ジャンプ、2段ジャンプ。。 pic.twitter.com/NB00x83Loh
— ホーリー (@gevvoihorry) 2016年9月15日
足元がゴキブリのようにカサカサなってるのが気になりますが、まあ2段ジャンプにはなってますよね。不格好ながら、一応2段ジャンプの領域ですw
ジャンプをリセットするのに困った
ジャンプを2回まですることが出来て、また地面に着いたら、その回数がリセットされるようにしたんですよ。地面に着いてるときはジャンプが0で、そこから2まで増やすことが出来るって風に。
んでそこまでは簡単だったんですけど、困ったのは足元が着かなくても、ジャンプカウントがリセットされてしまうことでした。
上記の動画の最後のところで、ジャンプが届かなくて落ちていくんですけど、そのときに体は地面に触れてるんですよ。半身というか。
その状態でもジャンプカウントがリセットされて、壁蹴りみたいに登っていけるようになってたんです。最初の頃は。
これを解決するのに少々悩みました。ようは足元が地面に触れたときだけリセットさせたかったんです。
(文章だと、どこまで伝わってるのか不安ですが、構わず続けてみますw)
足元に別のNodeをセットした
動画を見ていただくと分かるんですが、足元に別のNodeをセットしてみました。赤い小さなやつですね。
2段ジャンプ、2段ジャンプ。。 pic.twitter.com/NB00x83Loh
— ホーリー (@gevvoihorry) 2016年9月15日
これが地面に触れたときにジャンプカウントがリセットされるように実装してみたんです。こうすると壁走りは起きなくなったんですよね。
ジャンプの実装方法として、これがスマートなのか分かりませんが、とりあえずこんな風にしてみた次第です。
最後に
やっぱアクションゲームと言えばジャンプですよね。前に泳いでくアクションゲームは出しましたけど、やはりジャンプは避けて通れないところでしょう。
思いっきりマリオをパクった感じの、いいジャンプゲームを作ってみようと思います。
以上、Swiftで2段ジャンプを実装してみた、って話でした。