アットウィキロゴ
ProgramingTips
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

ProgramingTips

ジャンプ処理

最終更新:

gamexprogram

- view
管理者のみ編集可

アクション>ジャンプ処理


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

ソースコード



実行結果


見た感じはわかりませんが、ジャンプできます。

ソースコード解説

#include "Luna_Init.h"
前回の1行目~86行目をまとめたものです

#include "function.h"
PadProcess()の内容をまとめたものです

PadProcess()
パッド処理です。
単に前回の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))

AccY += Gravity;
PlayerY += AccY;
プレイヤーに重力を加える処理です。

if(PlayerY > SCREEN_HEIGHT / 2)
{
	PlayerY = SCREEN_HEIGHT / 2;
	JumpFlag = FALSE;
}
地面に降りる際に、地面に着地するようにする処理です。
この記述がないと、永久に下に落ち続けます。
また、必ずジャンプフラグをFALSEにしておいてください。
2回目以降、ジャンプができなくなります。

<アクションに戻る

添付ファイル
記事メニュー
最近更新されたスレッド
ウィキ募集バナー