ProgramingTips
ジャンプ処理
最終更新:
gamexprogram
-
view
アクション>ジャンプ処理
ジャンプは、横スクロールアクションによく使われる動作です。
有名なところでいうと、スーパーマリオブラザーズやロックマンシリーズでしょうか…
それはさておき、さっそくソースコードを見ていきましょう。
有名なところでいうと、スーパーマリオブラザーズやロックマンシリーズでしょうか…
それはさておき、さっそくソースコードを見ていきましょう。
#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (player.png)
ソースコード
実行結果

見た感じはわかりませんが、ジャンプできます。
ソースコード解説
#include "Luna_Init.h"
前回の1行目~86行目をまとめたものです
#include "function.h"
PadProcess()の内容をまとめたものです
PadProcess()
パッド処理です。
単に前回の110行目~139行目を関数化したものです。
単に前回の110行目~139行目を関数化したものです。
if(!JumpFlag)
{
if(LunaPad::GetState(0, PAD_STATE_PUSH, PAD_BUTTON_01) )
{
AccY = -JUMP_POWER;
JumpFlag = TRUE;
}
}
ジャンプフラグが立っていないとき、つまり地面にいるときに
ジャンプをする処理です。
(PAD_STATE_PUSH:ボタンを押した瞬間: PAD_BUTTON_01:ボタン1(Z))
ジャンプをする処理です。
(PAD_STATE_PUSH:ボタンを押した瞬間: PAD_BUTTON_01:ボタン1(Z))
AccY += Gravity; PlayerY += AccY;
プレイヤーに重力を加える処理です。
if(PlayerY > SCREEN_HEIGHT / 2)
{
PlayerY = SCREEN_HEIGHT / 2;
JumpFlag = FALSE;
}
地面に降りる際に、地面に着地するようにする処理です。
この記述がないと、永久に下に落ち続けます。
また、必ずジャンプフラグをFALSEにしておいてください。
2回目以降、ジャンプができなくなります。
この記述がないと、永久に下に落ち続けます。
また、必ずジャンプフラグをFALSEにしておいてください。
2回目以降、ジャンプができなくなります。
<アクションに戻る
添付ファイル