http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N2 のHSP版です。DxLib.as は http://tkooler.moe.hm/hsp/img/DxLib.as から入手可能。Player.bmp は http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N2 にあります。
http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N2 のHSP版です。DxLib.as は http://tkooler.moe.hm/hsp/img/DxLib.as から入手可能。Player.bmp は http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N2 にあります。
#runtime "hsp3cl"
#include "DxLib.as"
SetGraphMode 640 , 480 , 16
DxLib_Init
if( stat == -1 ){ // DXライブラリ初期化処理
dialog "エラー" : end // エラーが起きたら直ちに終了
}
// 描画先画面を裏画面にセット
SetDrawScreen DX_SCREEN_BACK
// グラフィックのロード
LoadGraph "Player.bmp"
PlayerGraph = stat
// キャラクターの初期データをセット
PlayerX = 0
PlayerY = 0
JumpPower = 0
// ループ
repeat
ProcessMessage
if stat != 0 : break
CheckHitKey KEY_INPUT_ESCAPE
if stat != 0 : break
// キー入力取得
GetJoypadInputState DX_INPUT_KEY_PAD1
Key = stat
// 上を押していたら上に進む
if( Key & PAD_INPUT_UP ) : PlayerY -= 3
// 下を押していたら下に進む
if( Key & PAD_INPUT_DOWN ) : PlayerY += 3
// 右を押していたら右に進む
if( Key & PAD_INPUT_RIGHT ) : PlayerX += 3
// 左を押していたら左に進む
if( Key & PAD_INPUT_LEFT ) : PlayerX -= 3
// 落下処理
PlayerY -= JumpPower
// 落下加速度を加える
JumpPower -= 1
// もし地面についていたら止まる
if( PlayerY > 300 ){
PlayerY = 300
JumpPower = 0
}
// ジャンプボタンを押していて、地面についていたらジャンプ
if( ( Key & PAD_INPUT_A ) && PlayerY == 300 ) : JumpPower = 20
// 画面を初期化する
RECT = -1, -1, -1, -1
ClearDrawScreen varptr(RECT) // 0 でもよい?
// 黒でつぶす
DrawBox 0, 0, 640, 480, TRUE
// プレイヤーを描画する
DrawGraph PlayerX , PlayerY , PlayerGraph , TRUE
// 裏画面の内容を表画面に反映させる
ScreenFlip
loop
DxLib_End // DXライブラリ使用の終了処理
end