/* ================================================ */ const InputWatcher::STICK_INFO InputWatcher::GetStickInfo( const InputWatcher::STICK_KIND &stickKind ) { int xx = 0; int yy = 0; math::Angle angle = 0.0f; if(stickKind == STICK_LEFT){ GetJoypadAnalogInput( &xx, &yy, m_watchPadIndex ); } else{ GetJoypadAnalogInputRight( &xx, &yy, m_watchPadIndex ); } if(math::Abs(xx) < STICK_INVALID_RANGE && math::Abs(yy) < STICK_INVALID_RANGE){ // 傾いてはいるが無効範囲 angle = 0; xx = 0; yy = 0; } else{ angle = math::ArcTan2( static_cast<float>(yy), static_cast<float>(xx)); } STICK_INFO ret; ret.Init(); ret.m_vec = math::Vector2(static_cast<float>(xx),static_cast<float>(yy)); ret.m_angle = angle; return ret; }
void check_input() { GetJoypadAnalogInput(&Csystem::left_lever_x,&Csystem::left_lever_y,DX_INPUT_PAD1); if(Csystem::left_lever_y > 0) { Csystem::left_lever_y_in++; }else if(Csystem::left_lever_y < 0){ Csystem::left_lever_y_in--; }else{ Csystem::left_lever_y_in = 0; } if(Csystem::left_lever_x > 0) { Csystem::left_lever_x_in++; }else if(Csystem::left_lever_x < 0){ Csystem::left_lever_x_in--; }else{ Csystem::left_lever_x_in = 0; } if((GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_A ) != 0) { Csystem::a_button++; }else{ Csystem::a_button = 0; } if((GetJoypadInputState( DX_INPUT_PAD1 ) & PAD_INPUT_B ) != 0) { Csystem::b_button++; }else{ Csystem::b_button = 0; } }
void Character::Move(){ input = GetJoypadInputState(DX_INPUT_KEY_PAD1); GetJoypadAnalogInput(&input_x, &input_y, DX_INPUT_KEY_PAD1); if (input & PAD_INPUT_LEFT) { x -= 0.3; if (RotateZ < 30.0f){ RotateZ += 1.0f; } } if (RotateZ > 0 && RotateZ <= 180.0f && input & PAD_INPUT_LEFT == 0) RotateZ -= 0.5f; if (input & PAD_INPUT_RIGHT) { x += 0.3; if (RotateZ > -30.0f){ RotateZ -= 1.0f; } } if (RotateZ < 0 && RotateZ >= -180.0f && input & PAD_INPUT_RIGHT == 0) RotateZ += 0.5f; if (input & PAD_INPUT_UP) { y += 0.3; if (RotateX < 45.0f){ RotateX += 1.0f; } } if (RotateX >0 && RotateX <= 180.0f && input & PAD_INPUT_UP == 0) RotateX -= 0.5f; if (input & PAD_INPUT_DOWN) { y -= 0.3; if (RotateX > -45.0f){ RotateX -= 1.0f; } } if (RotateX < 0 && RotateX >= -180.0f && input & PAD_INPUT_DOWN == 0) RotateX += 0.5f; /*if (input & PAD_INPUT_2){ RotateZ2 += 36; } if (input & PAD_INPUT_2 && input & PAD_INPUT_3 ){ RotateZ2 = 0; } if (input & PAD_INPUT_3){ if (RotateZ2 < 360){ RotateZ2 -= 36; } muteki = 1; } else{ muteki = 0; } if (input & PAD_INPUT_2 || input & PAD_INPUT_3){ muteki = 1; }*/ if(KeyGet(KEY_INPUT_LEFT)) { x-=0.3; if(RotateZ < 30.0f){ RotateZ += 1.0f; } } if(RotateZ > 0 && RotateZ <= 180.0f && KeyGet(KEY_INPUT_LEFT) == 0) RotateZ -= 0.5f; if(KeyGet(KEY_INPUT_RIGHT)) { x+=0.3; if(RotateZ > -30.0f){ RotateZ -= 1.0f; } } if(RotateZ < 0 && RotateZ >= -180.0f && KeyGet(KEY_INPUT_RIGHT) == 0) RotateZ += 0.5f; if(KeyGet(KEY_INPUT_UP)) { y+=0.3; if(RotateX < 45.0f){ RotateX += 1.0f; } } if(RotateX >0 && RotateX <= 180.0f && KeyGet(KEY_INPUT_UP) == 0 ) RotateX -= 0.5f; if(KeyGet(KEY_INPUT_DOWN)) { y-=0.3; if(RotateX > -45.0f){ RotateX -= 1.0f; } } if(RotateX < 0 && RotateX >= -180.0f && KeyGet(KEY_INPUT_DOWN) == 0) RotateX += 0.5f; static unsigned int pad = 0; if (input & PAD_INPUT_3) { pad |= 1; } else{ pad &= ~1; } if (input & PAD_INPUT_2) { pad |= 2; } else{ pad &= ~2; } if (KeyGet(KEY_INPUT_Z) || pad == 1){ RotateZ2 += 36; } if ((KeyGet(KEY_INPUT_Z) == 0 && KeyGet(KEY_INPUT_X) == 0) && pad == 0){ RotateZ2 = 0; } if(KeyGet(KEY_INPUT_X) || pad == 2){ if(RotateZ2 < 360){ RotateZ2 -= 36; } muteki = 1; } else{ muteki = 0; } if (KeyGet(KEY_INPUT_Z) || KeyGet(KEY_INPUT_X) || pad){ muteki = 1; } else{ muteki = 0; } if(damaged_flag == true){ damaged_timer++; } if (damaged_timer > 60){ damaged_flag = false; damaged_timer = 0; } }