/* ================================================ */
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;
}
Exemple #2
0
	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;
		}

	}
Exemple #3
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;

	}
}