当前位置: 首页>>代码示例>>C++>>正文


C++ Paddle::ChangeYSpeed方法代码示例

本文整理汇总了C++中Paddle::ChangeYSpeed方法的典型用法代码示例。如果您正苦于以下问题:C++ Paddle::ChangeYSpeed方法的具体用法?C++ Paddle::ChangeYSpeed怎么用?C++ Paddle::ChangeYSpeed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Paddle的用法示例。


在下文中一共展示了Paddle::ChangeYSpeed方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Keyboard

/**************************************************************************//**
* @author Paul Blasi
*
* @par Description:
* Stores the state of the pressed key and does an initial update of the left
* player. Also handles the key presses for space, which pauses, escape, which
* exits the game, and +/-, which incresses and decreases the speed of the ball
* respectively.
*
* @param[in] key - the key that was pressed
* @param[in] x - the x position of the mouse when the key was pressed
* @param[in] y - the y position of the mouse when the key was pressed
*
*****************************************************************************/
void Keyboard(unsigned char key, int x, int y)
{
	KEYSTATE[key] = true;

	if ((KEYSTATE['w'] || KEYSTATE['W']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeYSpeed(PADDLE_INC);
	}

	if ((KEYSTATE['a'] || KEYSTATE['A']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeXSpeed((-1)*PADDLE_INC);
	}

	if ((KEYSTATE['s'] || KEYSTATE['S']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeYSpeed(-1 * PADDLE_INC);
	}

	if ((KEYSTATE['d'] || KEYSTATE['D']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeXSpeed(PADDLE_INC);
	}

	if (KEYSTATE['+'] && !PAUSED)
    {
        BALL.IncreaseMinVelocity();
    }

	if (KEYSTATE['-'] && !PAUSED)
    {
        BALL.DecreaseMinVelocity();
    }

    if (KEYSTATE[' '])
    {
        PAUSED = !PAUSED;

		if (PAUSED)
		{
			glutPostRedisplay();
		}
		else
		{
			glutTimerFunc(30, Animate, 0);
		}
    }

    if (KEYSTATE[ESCAPE_KEY])
    {
        glutExit();
    }
}
开发者ID:catlin0123,项目名称:Pong,代码行数:67,代码来源:Pong.cpp

示例2: SpecialKeys

/**************************************************************************//**
* @author Paul Blasi
*
* @par Description:
* Stores the state of the special key that was released.
*
* @param[in] key - the special key that was pressed
* @param[in] x - the x position of the mouse when the key was pressed
* @param[in] y - the y position of the mouse when the key was pressed
*
*****************************************************************************/
void SpecialKeys(int key, int x, int y)
{
	SPECKEYSTATE[key] = true;

	if (SPECKEYSTATE[GLUT_KEY_LEFT] && !PAUSED)
	{
		RIGHT_PLAYER.ChangeXSpeed(-1 * PADDLE_INC);
	}

	if (SPECKEYSTATE[GLUT_KEY_RIGHT] && !PAUSED)
	{
		RIGHT_PLAYER.ChangeXSpeed(PADDLE_INC);
	}

	if (SPECKEYSTATE[GLUT_KEY_UP] && !PAUSED)
	{
		RIGHT_PLAYER.ChangeYSpeed(PADDLE_INC);
	}

	if (SPECKEYSTATE[GLUT_KEY_DOWN] && !PAUSED)
	{
		RIGHT_PLAYER.ChangeYSpeed(-1 * PADDLE_INC);
	}
}
开发者ID:catlin0123,项目名称:Pong,代码行数:35,代码来源:Pong.cpp

示例3: UpdatePaddles

/**************************************************************************//**
* @author Paul Blasi
*
* @par Description:
* Updates each of the paddles x and y speeds every 1/3rd of a second
*
*****************************************************************************/
void UpdatePaddles()
{
	if ((KEYSTATE['w'] || KEYSTATE['W']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeYSpeed(PADDLE_INC);
	}
	else if (LEFT_PLAYER.Y_Vel() > 0)
	{
		if (LEFT_PLAYER.Y_Vel() < PADDLE_DEC)
		{
			LEFT_PLAYER.ResetYSpeed();
		}
		else
		{
			LEFT_PLAYER.ChangeYSpeed(-1 * PADDLE_DEC);
		}
	}

	if ((KEYSTATE['a'] || KEYSTATE['A']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeXSpeed((-1)*PADDLE_INC);
	}
	else if (LEFT_PLAYER.X_Vel() < 0)
	{
		if (LEFT_PLAYER.X_Vel() > -1 * PADDLE_DEC)
		{

			LEFT_PLAYER.ResetXSpeed();
		}
		else
		{
			LEFT_PLAYER.ChangeXSpeed(PADDLE_DEC);
		}
	}

	if ((KEYSTATE['s'] || KEYSTATE['S']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeYSpeed(-1 * PADDLE_INC);
	}
	else if (LEFT_PLAYER.Y_Vel() < 0)
	{
		if (LEFT_PLAYER.Y_Vel() >  -1 * PADDLE_DEC)
		{

			LEFT_PLAYER.ResetYSpeed();
		}
		else
		{
			LEFT_PLAYER.ChangeYSpeed(PADDLE_DEC);
		}
	}

	if ((KEYSTATE['d'] || KEYSTATE['D']) && !PAUSED)
	{
		LEFT_PLAYER.ChangeXSpeed(PADDLE_INC);
	}
	else if (LEFT_PLAYER.X_Vel() > 0)
	{
		if (LEFT_PLAYER.X_Vel() < PADDLE_DEC)
		{

			LEFT_PLAYER.ResetXSpeed();
		}
		else
		{
			LEFT_PLAYER.ChangeXSpeed(-1 * PADDLE_DEC);
		}
	}

	if (SPECKEYSTATE[GLUT_KEY_LEFT] && !PAUSED)
	{
		RIGHT_PLAYER.ChangeXSpeed(-1 * PADDLE_INC);
	}
	else if (RIGHT_PLAYER.X_Vel() < 0)
	{
		if (RIGHT_PLAYER.X_Vel() > -1 * PADDLE_DEC)
		{

			RIGHT_PLAYER.ResetXSpeed();
		}
		else
		{
			RIGHT_PLAYER.ChangeXSpeed(PADDLE_DEC);
		}
	}

	if (SPECKEYSTATE[GLUT_KEY_RIGHT] && !PAUSED)
	{
		RIGHT_PLAYER.ChangeXSpeed(PADDLE_INC);
	}
	else if (RIGHT_PLAYER.X_Vel() > 0)
	{
		if (RIGHT_PLAYER.X_Vel() < PADDLE_DEC)
//.........这里部分代码省略.........
开发者ID:catlin0123,项目名称:Pong,代码行数:101,代码来源:Pong.cpp


注:本文中的Paddle::ChangeYSpeed方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。