Scene_Base* Title::update(){
	frame++;


	//•Ï�X“_
	if (CheckHitKey(KEY_INPUT_UP) == 1 && GetNowCount() - _T_changing > 400){
		_keyCheck++;
		_T_changing = GetNowCount();
	}
	if (CheckHitKey(KEY_INPUT_DOWN) == 1 && GetNowCount() - _T_changing > 400){
		_keyCheck++;
		_T_changing = GetNowCount();
	}

	if (CheckHitKey(KEY_INPUT_Z) == 1){
		switch (_keyCheck % 2){
		case 0:
			return new MainGame();
			break;
		case 1:
			DxLib_End();
			exit(0);
			break;
		}
	}

	

	

	return this;

}
示例#2
0
		Child* BaseTown::update(Parent* parent) {
			Child* next = this;
			//画面描画
			drawState();
			
			if ( CheckHitKey( KEY_INPUT_SPACE ) ) {
				switch ( mCursorPosition ) {
					case 0:
						next = new Dungeon;
						break;
					case 1:
						//TODO:ステータス表示
						break;
					case 2:
						next = new Shop;
						break;
					case 3:
						//TODO:スキル強化
						break;
					default:
						break; //何もしない
				}
			} else if ( CheckHitKey( KEY_INPUT_BACK ) ) {
				parent->moveTo( Parent::NEXT_TITLE );
			}
			return next;
		}
示例#3
0
void CShootingScene::CheckKey(void)
{
	if(CheckHitKey(KEY_INPUT_UP) == 1)
		m_Player.m_y -= m_Player.m_Speed;
	if(CheckHitKey(KEY_INPUT_DOWN) == 1)
		m_Player.m_y += m_Player.m_Speed;
	if(CheckHitKey(KEY_INPUT_LEFT) == 1)
		m_Player.m_x -= m_Player.m_Speed;
	if(CheckHitKey(KEY_INPUT_RIGHT) == 1)
		m_Player.m_x += m_Player.m_Speed ;

	if(m_Player.GetCenterX() < 0 )
		m_Player.SetCenterX(0);
	if(m_Player.GetCenterX() > SHOOTING_FIELD_WIDTH)
		m_Player.SetCenterX(SHOOTING_FIELD_WIDTH);
	if(m_Player.GetCenterY() < 0 )
		m_Player.SetCenterY(0);
	if(m_Player.GetCenterY() > SHOOTING_FIELD_HEIGHT)
		m_Player.SetCenterY(SHOOTING_FIELD_HEIGHT);

 	if(CheckHitKey(KEY_INPUT_SPACE) == 1)
	{
		CBullet* shot = m_Player.m_pEquipment.CreateShot(m_Player.GetCenterX(), m_Player.GetCenterY(),m_shotid);
		if(shot != NULL)
		{
			m_PlayerShotManager.Add(shot);
		}
	}
}
示例#4
0
void WriteNobelString(char* str){
	int line=0;
	int defx=60;
	int defy=360;

	for(int i=0; str[i]!='\0' && CheckHitKey(KEY_INPUT_LCONTROL)==0 ; i++){

		ClearDrawScreen();
		DrawGraph(0,0,graph::back[0],true);
		DrawCharaGraph(chara_num);
		DrawGraph(0,0,graph::textbox,true);
		//DrawTextBox();

		if(i!=0 && i%MSG_MAX_LEN==0){
			line+=1;
		}

		for(int n=0; n<MSG_MAX_LINE; n++){
			if(n==line){
				WriteString(str, n*MSG_MAX_LEN, i-n*MSG_MAX_LEN, defx, defy+20*n,  n);
				break;
			} else {
				WriteString(str, n*MSG_MAX_LEN, MSG_MAX_LEN, defx, defy+20*n, n);
			}
		}

		Sleep(1);

		ScreenFlip();
	}
	while(ProcessMessage()==0 && (CheckHitKey(KEY_INPUT_Z)==0 && CheckHitKey(KEY_INPUT_LCONTROL)==0) ){

	}
}
示例#5
0
void cam_Move(){                          //画面の移動
	cam_idouryou=0;
    	if(CheckHitKey(KEY_INPUT_RIGHT)==1 && mapX+1800 && mapX+1795 >=640){
    	    cam_idouryou=-5;                  //画面を左に動かす
    	}else if(CheckHitKey(KEY_INPUT_LEFT)==1 &&  mapX+5<=0){
    	    cam_idouryou=5;        //画面を右に動かす
    	}
}   	
示例#6
0
static void look_out_over(Camera *self)
{
    float move_point_x = 0.04f;
    float move_point_y = move_point_x / (M_PI / 2);

    if (CheckHitKey(KEY_INPUT_UP)) {self->pt.x -= move_point_x;}
    else if (CheckHitKey(KEY_INPUT_DOWN)) {self->pt.x += move_point_x;}

    if (CheckHitKey(KEY_INPUT_RIGHT)) {self->pt.y += move_point_y;}
    else if (CheckHitKey(KEY_INPUT_LEFT)) {self->pt.y -= move_point_y;}
}
示例#7
0
void client_main(){
  static Mode status = UNCONNECTED;
	ClientConnection client(PORT, SERVER_IP);
	Input input;
	decoder.initialize();

	while(!client.connect()){
	  ClearDrawScreen();
	  const static int titleGraph = LoadGraph( "../graphic/ShootingTitle.jpg");
	  DrawGraph( 0, 0, titleGraph, false);
	  DrawString( 300, 500, "Now connecting", WHITE);
		ScreenFlip();
		int lastTry = GetNowCount();
		while(GetNowCount() - lastTry < 1000){
			Sleep(20);

			// Windows 特有の面倒な処理をDXライブラリにやらせる
	    // -1 が返ってきたらループを抜ける
	    if( ProcessMessage() < 0 ) exit(0);
  
	    // もしESCキーが押されていたらループから抜ける
	    if( CheckHitKey( KEY_INPUT_ESCAPE ) ) exit(0);
		}
	}
  status = CONNECTED;

  // 移動ルーチン
	int fpsTimer = GetNowCount();
  while( 1 ){
    input.getKeyInput();
	  client.send(input.encode());
	  vector<int> clientMessage;
	  if(client.receive(clientMessage) >= 0){
  		while(client.receive(clientMessage) >= 0);
		  decoder.draw(clientMessage);
	  }
	  int term;
	  term = GetNowCount()-fpsTimer;
	  if(8-term>0){
  		Sleep(8-term);
	  }
	  fpsTimer = GetNowCount();
  
    // Windows 特有の面倒な処理をDXライブラリにやらせる
    // -1 が返ってきたらループを抜ける
    if( ProcessMessage() < 0 ) break ;
  
    // もしESCキーが押されていたらループから抜ける
    if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break;
  }
}
示例#8
0
void move(double& move_x, double& move_y, const double& move_v) {
	if (CheckHitKey(KEY_INPUT_LEFT) == 1) {
		move_x -= move_v;
	}
	if (CheckHitKey(KEY_INPUT_RIGHT) == 1) {
		move_x += move_v;
	}
	if (CheckHitKey(KEY_INPUT_UP) == 1) {
		move_y -= move_v;
	}
	if (CheckHitKey(KEY_INPUT_DOWN) == 1) {
		move_y += move_v;
	}
}
示例#9
0
	void Creticle::controll()
	{
		int right_lever_x = 0,right_lever_y = 0;
		GetJoypadAnalogInputRight(&right_lever_x,&right_lever_y,DX_INPUT_PAD1);

		//�ړ�����
		if(Pplayer->target_type == FREE)
		{
			if(CheckHitKey(KEY_INPUT_UP) == TRUE || right_lever_y < 0)
			{
				if(Pplayer->Preticle->pos.y - Pplayer->pos.y < 290)
				{
					pos.y -= (right_lever_y * movespeed)*0.002;
				}
			}
			if(CheckHitKey(KEY_INPUT_DOWN) == TRUE || right_lever_y > 0 )
			{
				if(Pplayer->pos.y - Pplayer->Preticle->pos.y < 290)
				{
					pos.y -= (right_lever_y * movespeed)*0.002;
				}
			}

			if(CheckHitKey(KEY_INPUT_LEFT) == TRUE || right_lever_x < 0)
			{
				angle.x	-= (right_lever_x * (DX_PI/180)*movespeed)*0.001f;
				angle.z += (right_lever_x * (DX_PI/180)*movespeed)*0.001f; 			
	//			Pplayer->model_angle_x += (right_lever_x * movespeed)*0.001f; 			
			}
			if(CheckHitKey(KEY_INPUT_RIGHT) == TRUE || right_lever_x > 0)
			{
				angle.x	-= (right_lever_x * (DX_PI/180)*movespeed)*0.001f;
				angle.z += (right_lever_x * (DX_PI/180)*movespeed)*0.001f; 			
	//			Pplayer->model_angle_x += (right_lever_x *movespeed)*0.001f; 			
			}
			if(( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_A ) != 0 && Pplayer->pos.y < 890 )
			{
				pos.y += Pplayer->movespeed; 			
			}
			if(( GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_C ) != 0 && Pplayer->pos.y > 110 )
			{
				pos.y -= Pplayer->movespeed; 			
			}
			angle.y = fabsf(Pplayer->Preticle->pos.y - Pplayer->pos.y); 
			move_radius = sqrt((300 + angle.y) * (300 - angle.y));
			pos.x = Pplayer->pos.x + move_radius*cos(angle.x + (DX_PI/2));
			pos.z = Pplayer->pos.z + move_radius*sin(angle.z + (DX_PI/2));
		}
	}
示例#10
0
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
#ifdef _DEBUG
	ChangeWindowMode( TRUE );			//ウィンドウ起動
#endif

	//フルスクリーンにするか
	/*int YN = MessageBox(NULL,"フルスクリーンで起動しますか?","ウィンドウサイズの設定",MB_YESNO);
	if(YN != IDYES )ChangeWindowMode(TRUE);*/

	//多重起動をできないようにする
	SetDoubleStartValidFlag(FALSE);

	SetGraphMode( 800 , 600 , 16 ) ;

	if( DxLib_Init() == -1 ){ return -1 ; }		// DXライブラリ初期化処理

	while( ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == FALSE)
	{
		//ゲームマネージャー
		GameManager* GameMain = new GameManager();
	
		//メイン
		GameMain->Menu();
		GameMain->Run();

		delete GameMain;
	}

	DxLib_End();		// DXライブラリ使用の終了処理

	return 0;		// ソフトの終了
}
示例#11
0
文件: main.cpp 项目: shadowjen/vantan
//	--------------------------------------------------------------------
//	メイン関数定義
//	--------------------------------------------------------------------
int WINAPI WinMain(
    HINSTANCE hInstance,      // 現在のインスタンスのハンドル
    HINSTANCE hPrevInstance,  // 以前のインスタンスのハンドル
    LPSTR lpCmdLine,          // コマンドライン
    int nCmdShow              // 表示状態
)
{
    //	DXLIBの初期化処理
    DxLib_Init();

    //	ゲーム初期化
    InitGame();

    //	ゲームループ
    //	以下の処理をエスケープキーが押されるまでかプレイヤーが生きている間繰り返す

    while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 && Player.state == STATE_LIVE)
    {
        GameMain();
    }

    //	DXLIBの終了処理
    DxLib_End();

    //	アプリケーションの終了
    return 0;
}
示例#12
0
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){

		// DXライブラリ初期化
		ChangeWindowMode( TRUE ) ;
        if(DxLib_Init() == -1 ) 
		{
			return -1;
		}

		CShootingScene CShootingScene;
		SetDrawScreen( DX_SCREEN_BACK ) ;
		while(1)
		{		
			ClearDrawScreen();
			CShootingScene.DrawImage();
			ScreenFlip();			
			if( ProcessMessage() < 0 ) break ;
#ifdef _DEBUG
			if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ;
#endif
		}

		// DXライブラリ終了処理
        DxLib_End();
        return 0;
}
示例#13
0
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){

	SetWindowText("Title");
	SetGraphMode(WINDOW_WIDTH , WINDOW_HEIGHT,32 );
	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );

	int LoadImage = LoadGraph("Natsuiro/BLOCK/load.png");
	DrawExtendGraph(0,0,WINDOW_WIDTH,WINDOW_HEIGHT, LoadImage ,false);
	ScreenFlip();
	
	SetTransColor(255,0,255);
	Awake();

	long long TIME = GetNowHiPerformanceCount();
#	if	BENCHMARK == TRUE
	long long int count = GetNowCount();
#	endif

	while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && !CheckHitKey(KEY_INPUT_ESCAPE) ){
		GameLoop();
		Sleep( (unsigned long)max( 16 - (int)( GetNowHiPerformanceCount() - TIME ) / 1000 , 0 ) );
		TIME = GetNowHiPerformanceCount();

#		if BENCHMARK == TRUE
		DrawFormatString(WINDOW_WIDTH-200,0,BLACK,"FPS %d (%dms)", (int)( 1000/( GetNowCount() - count ) ) , GetNowCount() - count );
		count = GetNowCount();
#		endif

	}
        
	DxLib_End();
	return 0;
} 
示例#14
0
//! DxLib公式ページからコピペしただけです。
// プログラムは WinMain から始まります
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{

	//! ウィンドウモードで描画するように設定
	ChangeWindowMode(TRUE);

	//! ウィンドウサイズ、使用カラービット数の指定
	SetGraphMode(GameManager::WindowInformation::Width, GameManager::WindowInformation::Height, GameManager::WindowInformation::ColorBit);
	
	//! 描画先をバックバッファにする(後でScreenFlipによって表にする必要がある。)
	SetDrawScreen(DX_SCREEN_BACK);

	if (DxLib_Init() == -1)		// DXライブラリ初期化処理
	{
		return -1;			// エラーが起きたら直ちに終了
	}



	GameManager::GetInstance().Initialize();

	//メインループ
	while (ProcessMessage() == false && CheckHitKey(KEY_INPUT_ESCAPE) == FALSE)
	{

		GameManager::GetInstance().GameMainLoop();
	}


	DxLib_End();				// DXライブラリ使用の終了処理

	return 0;				// ソフトの終了 
}
示例#15
0
// プログラムは WinMain から始まります
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	GameScene* mGameScene;		//ゲームシーンの作成 こいつが画面を見ている
	mGameScene = new GameScene;	//インスタンス生成 GameSceneのコンストラクタでタイトルシーンをを入れている
	
	SetGraphMode(640, 480, 16);	//画面の解像度
	ChangeWindowMode(TRUE);
	if (DxLib_Init() == -1)		// DXライブラリ初期化処理
	{
		return -1;			// エラーが起きたら直ちに終了
	}
	// 描画先画面を裏画面にセット
	SetDrawScreen(DX_SCREEN_BACK);
	// ループ
	while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0)
	{
		// 画面を初期化する
		ClearDrawScreen();

		//画面動作処理
		mGameScene->Update();

		//画面描画処理
		mGameScene->Draw();

		// 裏画面の内容を表画面に反映させる
		ScreenFlip();
	}
	DxLib_End();				// DXライブラリ使用の終了処理
	return 0;				// ソフトの終了 
}
示例#16
0
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow)
{
	ChangeWindowMode(TRUE);
	SetGraphMode(WINDOW_X, WINDOW_Y, 32);
	if (DxLib_Init() == -1)return -1;
	SetDrawScreen(DX_SCREEN_BACK);

	//�錾
	GameManager *gm = new GameManager(WINDOW_X, WINDOW_Y);

	while (ProcessMessage() != -1) {
		int startTime = GetNowCount();
		ScreenFlip();
		ClearDrawScreen();

		//����
		gm->All();

		if (CheckHitKey(KEY_INPUT_ESCAPE) == 1)break;
		int endTime = GetNowCount();
		WaitTimer((1000 / 60) - (endTime - startTime));
	}

	delete gm;
	DxLib_End();

	return 0;
}
示例#17
0
//キー入力によって移動させる
void PlayerController::Think(){
	UpdateKey();
	//キーが押されているなら
	if(GetJoypadInputState( DX_INPUT_KEY_PAD1 )){

		//Sキーが押されているなら走る
		if(CheckHitKey( KEY_INPUT_S )==1){
			if(  CheckHitKey( KEY_INPUT_RIGHT ) == 1 )  character_->Run(true);
			else if(CheckHitKey( KEY_INPUT_LEFT ) == 1) character_->Run(false);
			else character_->NoMove();

		}
		//そうでない場合は歩く
		else{
			//右が押されているなら右に移動
			if(  CheckHitKey( KEY_INPUT_RIGHT ) == 1 )  character_->Walk(true);
			//左が押されているなら左に移動
			else if(CheckHitKey( KEY_INPUT_LEFT ) == 1) character_->Walk(false);
			//それ以外は静止
			else character_->NoMove();
		}


		//Aか上が押されていて、ジャンプ中でないならジャンプ
		if(( CheckHitKey( KEY_INPUT_A )==1 ||CheckHitKey( KEY_INPUT_UP ) == 1) &&character_->isAerial()==false) character_->Jump();

		//Dが押された場合弾発射
		if(key[KEY_INPUT_D]==1){
			character_->DoAttack();
		}
	}
	//キーが押されていないなら静止
	else character_->NoMove();
}
示例#18
0
int MANAGIMENT :: selectMode(void){
	int select = mode;
	int count = 0;
	Sleep(500);
	while(ProcessMessage() == 0){
		//画面をクリア
		ClearDrawScreen();
		//表示
		for(int i=0;i<4;i++){
			if(i == select)
				menu[i].displaySelect();
			else
				menu[i].displayNormal();
		}
		//入力
		if(count > 20){
			//下キー
			if(CheckHitKey(KEY_INPUT_DOWN)){
				++select%=4;
				count = 0;
			}
			//上キー
			if(CheckHitKey(KEY_INPUT_UP)){
				select--;
				if(select < 0)
					select+=4;
				count = 0;
			}
		}
		count++;
		//エンターキー
		if(CheckHitKey(KEY_INPUT_RETURN)){
			mode = select;
			return mode;
		}
		if(CheckHitKey(KEY_INPUT_ESCAPE)){
			mode = 3;
			return mode;
		}
		//裏画面の内容を表画面に反映
		ScreenFlip();
	}
	return 4;
}
示例#19
0
int help(){
	DrawFormatString(320,0,GetColor(255,255,255),"決定:Zキー");
	DrawFormatString(320,20,GetColor(255,255,255),"拒否:Xキー");
	DrawFormatString(320,40,GetColor(255,255,255),"マップにて");
	DrawFormatString(320,60,GetColor(255,255,255),"勇者の移動:十字キー(↓→↑←)");
	DrawFormatString(320,80,GetColor(255,255,255),"メニューの表示:Cキー");
	DrawFormatString(320,100,GetColor(255,255,255),"Xキーでメニューに戻ります。");
	if(CheckHitKey(KEY_INPUT_X)==1)return 0;
	return 1;
} 
示例#20
0
文件: main.cpp 项目: GandT/learning
// WinMain関数
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
	int x , y ;

	// DXライブラリ初期化処理
	if( DxLib_Init() == -1 ) return -1;

	// 描画先画面を裏画面にする
	SetDrawScreen( DX_SCREEN_BACK ) ;

	x = 0 ; y = 0 ; 
	while( 1 )
	{
		// 画面に描かれているものをすべて消す
		ClearDrawScreen() ;

		// 上下左右のキー入力に対応して x, y の座標値を変更する
		if( CheckHitKey( KEY_INPUT_LEFT ) == 1 ) x -= 8 ;
		if( CheckHitKey( KEY_INPUT_RIGHT ) == 1 ) x += 8 ;
		if( CheckHitKey( KEY_INPUT_UP ) == 1 ) y -= 8 ;
		if( CheckHitKey( KEY_INPUT_DOWN ) == 1 ) y += 8 ;

		// x , y が示す画面座標にBMP画像 test1.bmp を描画する
		LoadGraphScreen( x , y , "エレキシューター.bmp" , TRUE ) ;

		// 裏画面の内容を表画面に反映させる
		ScreenFlip() ;

		// 待たないと処理が早すぎるのでここで20ミリ秒待つ
		WaitTimer( 20 ) ;

		// Windows システムからくる情報を処理する
		if( ProcessMessage() == -1 ) break ;

		// ESCキーが押されたらループから抜ける
		if( CheckHitKey( KEY_INPUT_ESCAPE ) == 1 ) break ;
	}

	// DXライブラリ使用の終了処理
	DxLib_End() ;

	// ソフトの終了
	return 0 ;
}
示例#21
0
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
	SetGraphMode(sugi::Csystem::SCREEN_WIDTH,sugi::Csystem::SCREEN_HEIGHT,32);
	ChangeWindowMode(TRUE);

	DxLib_Init();

	sugi::game_stage = sugi::Csystem::GAME_RESET;
	//描画は背面
	SetDrawScreen( DX_SCREEN_BACK ) ;
	SetLightEnable(1) ;
	GetJoypadNum();

	//ゲームのメインループ
	while(ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0 && CheckHitKey(PAD_INPUT_START) == 0)
	{
		ClearDrawScreen();
		switch (sugi::game_stage)
		{
		case sugi::Csystem::GAME_RESET:
			sugi::game_reset();
			break;
		case sugi::Csystem::GAME_TITLE:
			sugi::game_title();
			break;
		case sugi::Csystem::GAME_MAIN:
			sugi::game_main();
			break;
		case sugi::Csystem::GAME_RESULT:
			sugi::game_result();
			break;
		}

		DrawFormatString(0,0,0xffffff,"%2d",sugi::game_stage);
		ScreenFlip();

	}
	sugi::del_pointer();

	DxLib_End();

	return 0;
}
示例#22
0
void soloplay_main(){
  //画像読み込み
  graresource.initialize();
  decoder.initialize();
  static const int BLACK = GetColor(0, 0, 0);
  static const int WHITE = GetColor(255, 255, 255);
  static const int playerNum = 4;
  Shooting shooting(playerNum);
  // 移動ルーチン
  int fpsTimer = GetNowCount();
  Input input;

  ClearDrawScreen();
  const static int titleGraph = LoadGraph( "../graphic/ShootingTitle.jpg");
  DrawGraph( 0, 0, titleGraph, false);
  ScreenFlip();
  Sleep( 3000);
  while( 1 ){
    input.getKeyInput();
    // todo treat dead client
    //while(true){
    //  int lostNetWork = GetLostNetWork();
    //}
    for(int i = 0; i < playerNum; ++i){
      shooting.setInput(i, input.encode());
    }
    shooting.action();

#ifdef _DEBUG_

    // debug messages
    //dxout << serverMessage << dxendl;

#endif // _DEBUG_

		decoder.draw(graresource.getMessages());
    graresource.clear();
    int term;
    term = GetNowCount()-fpsTimer;

    if(16-term>0){
      Sleep(16-term);
    }

    fpsTimer = GetNowCount();

		if (!shooting.isValid()) break;		
		// Windows 特有の面倒な処理をDXライブラリにやらせる
    // -1 が返ってきたらループを抜ける
    if( ProcessMessage() < 0 ) break ;

    // もしESCキーが押されていたらループから抜ける
    if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break;
  }
}
示例#23
0
文件: main.cpp 项目: shadowjen/vantan
//	--------------------------------------------------------------------
//	プレイヤーの移動・ショットの発射処理を行う
//	--------------------------------------------------------------------
void ControllPlayer()
{
    //	右カーソルが押されているかどうかをチェック
    if (CheckHitKey(KEY_INPUT_RIGHT) == 1)
    {
        Player.x += PLAYER_MOVESPEED;
    }
    //	左カーソルが押されているかどうかをチェック
    if (CheckHitKey(KEY_INPUT_LEFT) == 1)
    {
        Player.x -= PLAYER_MOVESPEED;
    }

    //	ショット発射チェック
    if (CheckHitKey(KEY_INPUT_SPACE) == 1 && PlayerShot.state == STATE_NONE)
    {
        //	弾を生成
        CreateShot(OBJECT_PLAYER, Player);
    }
}
示例#24
0
//*********************************************************
//	ゲームの更新を行う
//*********************************************************
int GameUpdate(void)
{
	// [ESC]キーで終了
	if (CheckHitKey(KEY_INPUT_ESCAPE) == 1)	return	0;

	//ゲームメインの読み込み
	GameMain();

	// 正常に処理を行っている
	return	1;
}
void CameraWorkManager::getKeyInput()
{
	// キー入力による球体の移動
	static const double SPHERE_MOVE=3.0;
	if( CheckHitKey(KEY_INPUT_NUMPAD8)      > 0 )
	{ //左キーが押されていたら
		m_dTilt += ROTATE_SPEED;
	}
	else if( CheckHitKey(KEY_INPUT_NUMPAD2) > 0 )
	{ //右キーが押されていたら
		m_dTilt -= ROTATE_SPEED;
	}
	else if( CheckHitKey(KEY_INPUT_NUMPAD4) > 0 )
	{ //上キーが押されていたら
		m_dHead -= ROTATE_SPEED;
	}
	else if( CheckHitKey(KEY_INPUT_NUMPAD6) > 0 )
	{ //下キーが押されていたら
		m_dHead += ROTATE_SPEED;
	}
};
示例#26
0
void title(Scene *scene,int *num){

	static int flag = 0;
	text(&flag);
	
	
	if (CheckHitKey(KEY_INPUT_Z)){
//		flag = 0;
//		*scene = Game;
	}
	else if (CheckHitKey(KEY_INPUT_2)){
		*num = 2;
		flag = 0;
		*scene = Game;
	}
	else if (CheckHitKey(KEY_INPUT_3)){
		*num = 3;
		flag = 0;
		*scene = Game;
	}
	else if (CheckHitKey(KEY_INPUT_4)){
		*num = 4;
		flag = 0;
		*scene = Game;
	}
	else if (CheckHitKey(KEY_INPUT_C)){
		*scene = Gallery;
	}
	else if (CheckHitKey(KEY_INPUT_A)){
		//*scene = Result;
	}
	
}
示例#27
0
CState* CState_Skill04::Control()
{
	AttackCount = AttackSprite->GetCount();

	if(AttackCount >= 8)
	{
		AttackSprite->SetCount(0);
		if((CheckHitKey(KEY_INPUT_LEFT) || CheckHitKey(KEY_INPUT_RIGHT)))
		{
			if(CheckHitKey(KEY_INPUT_LEFT)) {
				b_Left = true;
				b_Right = false;
				return Move;
			}
			if(CheckHitKey(KEY_INPUT_RIGHT)) {
				b_Left = false;
				b_Right = true;
				return Move;
			}
		}

		if((CheckHitKey(KEY_INPUT_LEFT) && CheckHitKey(KEY_INPUT_RIGHT)) || CheckHitKeyAll() == 0) {
			return Stand;
		}
		return Stand;

	}
	return Skill04;
}
示例#28
0
// virtual
void CStage2::Proc()
{
	static int cnt = 0;

	if( !cnt && CheckHitKey( KEY_INPUT_D ) ) {
		m_bShowDebugInfo = !m_bShowDebugInfo;
		cnt++;
	}

	if( cnt ) {
		if( ++cnt == 30 ) cnt = 0;
	}
}
示例#29
0
CState* CState_Guard::Control()
{

	if(CheckHitKey(KEY_INPUT_Z))
	{
		Master->SetGuard(true);
		return Guard;
	}
	else
	{
		Master->SetGuard(false);
		return Stand;
	}
}
示例#30
0
void gallery(Scene *scene){
	static Graph graph[15];

	//初期化
	init(graph);

	//描く
	draw(graph);
	
	//xでタイトルへ
	if (CheckHitKey(KEY_INPUT_X)){
		*scene = Title;
	}
}