コード例 #1
0
ファイル: Camera.cpp プロジェクト: YunHsiao/RTR
bool TDCamera::onTick(float fElapsedTime, CTerrain* terrain)
{
	static float fTime(0.f);
	KeyboardInput(fElapsedTime);
	if (m_bDragging || m_bFollowing) MouseInput();
	UpdateAxis();
	if (m_bFollowing) {
		if (m_bGravity) m_pvPos.y = terrain->GetHeight(m_pvPos.x, m_pvPos.z); 
		m_vecEyePosition = m_pvPos - m_vecDirection * m_fFollowDist 
			+ m_vOffset - m_vecRight * (.5f * m_fFollowDist + .5f);
		D3DXMatrixRotationY(m_pTransform, m_fYaw - D3DX_PI);
		m_pTransform->_41 = m_pvPos.x; m_pTransform->_42 = m_pvPos.y; m_pTransform->_43 = m_pvPos.z;
	}
	ApplyCamera();
	if (m_bFollowing) {
		std::string action;
		if (m_bMoving) {
			if (m_bRunning) action = "run";
			else action = "walk";
		} else action = "stand";
		if (GetAsyncKeyState(VK_LBUTTON) & 0x8000) {
			action = "attack";
			fTime += fElapsedTime;
			// Animation Specific Parameters
			if (fTime > 1.2f) {
				fTime = 0.f;
				return true;
			}
		} else fTime = .6f;
		m_pPlayer->SetAction(action.c_str(), true, 5.f, .5f);
	}
	return false;
}
コード例 #2
0
ファイル: input.c プロジェクト: solgenomics/opticon1004
int ScanOrKeyboardInputSymbol( char* string, int min_length, int max_length, int typ, int x, int y, int display_length, int *nCodeId )
{
	int	key;
	
	for(;;)
	{
		string[0] = '\0';
		display_input( string, x, y, display_length, max_length );
		if( ScanBarcodeSymbol( string, min_length, max_length, nCodeId ) == OK )
		{
			display_input( string, x, y, display_length, max_length );
			return( SCANNED ); // Input by scanning
		}

		key = KeyboardInput( string, min_length, max_length, typ, x, y, display_length, 3, TRIGGER_KEY, CLR_KEY, ENT_KEY );
		switch( key )
		{
			case ENT_KEY:
				return( KEYBOARD );	// Keyboard input
			case TRIGGER_KEY:
				return( KEYBOARD );	// Keyboard input  

			case CLR_KEY:
				if( strlen( string ) != 0)
				{
					break;
				} // fall through
			default:
				return( key );
		}
	}
}
コード例 #3
0
ファイル: Player.cpp プロジェクト: Tirrax/T3
void Player::Update(sf::RenderWindow &renderWindow)
{
	KeyboardInput();
	MouseInput(renderWindow);

	origin = sf::Vector2f(position.x + (width / 2), position.y + (height / 2));

	for (int i = 0; i < projectiles.size(); i++)
	{
		projectiles[i].Update();
	}
}
コード例 #4
0
ファイル: proto.cpp プロジェクト: wheein/MiHaJong
void Scene::PadInput(LPDIDEVICEOBJECTDATA od) {
	DIDEVICEOBJECTDATA tmpObjDat;
	tmpObjDat.dwData = od->dwData;
	tmpObjDat.dwOfs = od->dwOfs;
	tmpObjDat.dwSequence = od->dwSequence;
	tmpObjDat.dwTimeStamp = od->dwTimeStamp;
	tmpObjDat.uAppData = od->uAppData;
	signed short axisVal = tmpObjDat.dwData;
	switch (od->dwOfs) {
	case DIJOFS_X:
		if (axisVal < 0)
			tmpObjDat.dwOfs = DIK_LEFT;
		else if (axisVal > 0)
			tmpObjDat.dwOfs = DIK_RIGHT;
		KeyboardInput(&tmpObjDat);
		break;
	case DIJOFS_Y:
		if (axisVal < 0)
			tmpObjDat.dwOfs = DIK_UP;
		else if (axisVal > 0)
			tmpObjDat.dwOfs = DIK_DOWN;
		KeyboardInput(&tmpObjDat);
		break;
	case DIJOFS_BUTTON0:  case DIJOFS_BUTTON2:  case DIJOFS_BUTTON4:  case DIJOFS_BUTTON6:  case DIJOFS_BUTTON8:
	case DIJOFS_BUTTON10: case DIJOFS_BUTTON12: case DIJOFS_BUTTON14: case DIJOFS_BUTTON16: case DIJOFS_BUTTON18:
	case DIJOFS_BUTTON20: case DIJOFS_BUTTON22: case DIJOFS_BUTTON24: case DIJOFS_BUTTON26: case DIJOFS_BUTTON28:
	case DIJOFS_BUTTON30:
		tmpObjDat.dwOfs = DIK_Z;
		KeyboardInput(&tmpObjDat);
		break;
	case DIJOFS_BUTTON1:  case DIJOFS_BUTTON3:  case DIJOFS_BUTTON5:  case DIJOFS_BUTTON7:  case DIJOFS_BUTTON9:
	case DIJOFS_BUTTON11: case DIJOFS_BUTTON13: case DIJOFS_BUTTON15: case DIJOFS_BUTTON17: case DIJOFS_BUTTON19:
	case DIJOFS_BUTTON21: case DIJOFS_BUTTON23: case DIJOFS_BUTTON25: case DIJOFS_BUTTON27: case DIJOFS_BUTTON29:
	case DIJOFS_BUTTON31:
		tmpObjDat.dwOfs = DIK_X;
		KeyboardInput(&tmpObjDat);
		break;
	}
}
コード例 #5
0
ファイル: Observer.cpp プロジェクト: YunHsiao/RTR
void TDObserver::onTick(float fElapsedTime) {
	KeyboardInput(fElapsedTime);
	CCamera::onTick(fElapsedTime);
}