早い回答ありがとうございます。
ではソースを貼ります。何度もすいません。
#include "DxLib.h"
int PlayerX, PlayerY ;
int JumpPower ;
int PlayerGraph ;
int JumpFlag ;
int Jump ;
// WinMain関数
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
SetGraphMode( 640 , 480 , 16 ) ;
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// 描画先画面を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK ) ;
// グラフィックのロード
PlayerGraph = LoadGraph( "Player.png" ) ;
PlayerX = 30 ; PlayerY = 350 ; JumpPower =0 ;
//ジャンプしているかどうかを保存している変数に0(ジャンプしていない)を代入する
JumpFlag = 0 ;
// 移動ルーチン
while( 1 )
{
// 画面を初期化する
ClearDrawScreen() ;
//プレイヤーの操作ルーチン
{
//→キーを押していたら右に移動
if( CheckHitKey( KEY_INPUT_RIGHT ) == 1 ) PlayerX += 3 ;
//←キーを押していたら左に移動
if( CheckHitKey( KEY_INPUT_LEFT ) == 1 ) PlayerX -= 3 ;
//↑キーを押していたらジャンプ
if( CheckHitKey( KEY_INPUT_UP ) )
{
//前フレームで↑ボタンを押したかが保存されている変数が0だったらジャンプ
if( JumpFlag ==0 )
{
//ジャンプの高さ
PlayerY -= 15 ;
}
//ジャンプしているので変数に1を代入
JumpFlag = 1 ;
}
else
{
//↑キーが押されていなかったら
//押されていないので変数に0を代入する
JumpFlag = 0 ;
}
PlayerY -= JumpPower ;
JumpPower -= 1 ;
//もし地面に付いたら止まる
if( PlayerY > 350 )
{
PlayerY = 350 ;
JumpPower = 0 ;
}
//プレイヤーを描画
DrawGraph ( PlayerX , PlayerY , PlayerGraph , TRUE ) ;
// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
// Windows 特有の面倒な処理をDXライブラリにやらせる
// -1 が返ってきたらループを抜ける
if( ProcessMessage() < 0 ) break ;
// もしESCキーが押されていたらループから抜ける
if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ;
}
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}