本文整理汇总了C++中Paddle::ChangeXSpeed方法的典型用法代码示例。如果您正苦于以下问题:C++ Paddle::ChangeXSpeed方法的具体用法?C++ Paddle::ChangeXSpeed怎么用?C++ Paddle::ChangeXSpeed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Paddle
的用法示例。
在下文中一共展示了Paddle::ChangeXSpeed方法的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();
}
}
示例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);
}
}
示例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)
//.........这里部分代码省略.........