本文整理汇总了C++中player::getRadius方法的典型用法代码示例。如果您正苦于以下问题:C++ player::getRadius方法的具体用法?C++ player::getRadius怎么用?C++ player::getRadius使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类player
的用法示例。
在下文中一共展示了player::getRadius方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: checkCollidePH
//player to hard code point
bool checkCollidePH(player P, float ox, float oy, float or)
{
Point p;
p.x = ox;
p.y = oy;
return theCollide(P.getPosition(), p, P.getRadius(), or);
}
示例2: checkCollidePP
//player to player
bool checkCollidePP(player P1, player P2)
{
return (theCollide(P1.getPosition(), P2.getPosition(), P1.getRadius(), P2.getRadius()));
}
示例3: drawPlayer
void drawPlayer()
{
int x, y, r;
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//get players position
x = (int)mainPlayer.getPosition().x;
y = (int)mainPlayer.getPosition().y;
r = (int)mainPlayer.getRadius();
//start drawing the player
glPushMatrix();
glEnable(GL_TEXTURE_2D);
glMatrixMode(GL_MODELVIEW);
//for rotation
if (wasclicked_RB == true || follow == true)
{
float PI = (float)3.14159265;
float dy, dx;
if (follow == true)
{
dy = (enemy[chase].getPosition().y - y);
dx = (enemy[chase].getPosition().x - x);
}
else
{
dy = (mouse.y - y);
dx = (mouse.x - x);
}
//find angle of rotation, if dx is 0 then you cant divide by 0 so set angle to 180
if (dx == 0)
{}
else
angle = atan(dy / dx) * 180/PI + 90;
//if dx is negative then we have to compensate the angle to go left
if (dx < 0)
angle += 180;
}
//draw the player texture
glBindTexture(GL_TEXTURE_2D, mainPlayer.getSprites()[player_animation_select]);
//translate the player to the origin
glTranslatef((GLfloat)x,(GLfloat)y, (GLfloat)0.0f);
//rotate player
glRotatef(angle,0,0,1);
//draw player
glBegin(GL_QUADS);
glTexCoord2f(0, 0);
glVertex2f((GLfloat)(-r), (GLfloat)(r));
glTexCoord2f(1, 0);
glVertex2f((GLfloat)(r), (GLfloat)(r));
glTexCoord2f(1, 1);
glVertex2f((GLfloat)(r), (GLfloat)(-r));
glTexCoord2f(0, 1);
glVertex2f((GLfloat)(-r), (GLfloat)(-r));
glEnd();
glDisable(GL_TEXTURE_2D);
//reset the screen so only player rotated
glPopMatrix();
//flush the buffer
glFlush();
}
示例4: checkCollidePU
//player to unit
bool checkCollidePU(player P, unit U)
{
return (theCollide(P.getPosition(), U.getPosition(), P.getRadius(), U.getRadius()));
}
示例5: playerMovement
void playerMovement ()
{
//rotate player
//needs to be added in, will come soon
//move in direction of
int col_flag;
Point P1, P2;
if (_move == true)
{
//move until player hits mouse click
P1 = mainPlayer.getPosition();
mainPlayer.move(mouse.x, mouse.y);
P2 = mainPlayer.getPosition();
if (checkCollisions() == true)
{
//left
if ((mainPlayer.getPosition().x - mainPlayer.getRadius()) <= enemy[collide_with].getPosition().x + enemy[collide_with].getRadius() && (mainPlayer.getPosition().x - mainPlayer.getRadius()) + mainPlayer.getSpeed() + 1> enemy[collide_with].getPosition().x + enemy[collide_with].getRadius())
col_flag = 1;
//right
else if ((mainPlayer.getPosition().x + mainPlayer.getRadius()) >= enemy[collide_with].getPosition().x - enemy[collide_with].getRadius() && (mainPlayer.getPosition().x + mainPlayer.getRadius()) - mainPlayer.getSpeed() - 1< enemy[collide_with].getPosition().x - enemy[collide_with].getRadius())
col_flag = 2;
//none
else
col_flag = 3;
//top
if ((mainPlayer.getPosition().y - mainPlayer.getRadius()) <= enemy[collide_with].getPosition().y + enemy[collide_with].getRadius() && (mainPlayer.getPosition().y - mainPlayer.getRadius()) + mainPlayer.getSpeed() + 1 > enemy[collide_with].getPosition().y + enemy[collide_with].getRadius())
col_flag += 10;
//bottom
else if ((mainPlayer.getPosition().y + mainPlayer.getRadius()) >= enemy[collide_with].getPosition().y - enemy[collide_with].getRadius() && (mainPlayer.getPosition().y + mainPlayer.getRadius()) - mainPlayer.getSpeed() - 1 < enemy[collide_with].getPosition().y - enemy[collide_with].getRadius())
col_flag += 20;
//none
else
col_flag += 30;
mainPlayer.setPosition(P1.x, P1.y);
switch (col_flag)
{
//left top
case 11:
P1.x = enemy[collide_with].getPosition().x + enemy[collide_with].getRadius() + mainPlayer.getRadius();
P1.y = enemy[collide_with].getPosition().y + enemy[collide_with].getRadius() + mainPlayer.getRadius();
mainPlayer.move(P1.x,P1.y);
break;
//left bottom
case 21:
P1.x = enemy[collide_with].getPosition().x + enemy[collide_with].getRadius() + mainPlayer.getRadius();
P1.y = enemy[collide_with].getPosition().y - enemy[collide_with].getRadius() - mainPlayer.getRadius();
mainPlayer.move(P1.x,P1.y);
break;
//left none
case 31:
P1.x = enemy[collide_with].getPosition().x + enemy[collide_with].getRadius() + mainPlayer.getRadius();
P1.y = mouse.y;
mainPlayer.move(P1.x,P1.y);
break;
//right top
case 12:
P1.x = enemy[collide_with].getPosition().x - enemy[collide_with].getRadius() - mainPlayer.getRadius();
P1.y = enemy[collide_with].getPosition().y + enemy[collide_with].getRadius() + mainPlayer.getRadius();
mainPlayer.move(P1.x,P1.y);
break;
//right bottom
case 22:
P1.x = enemy[collide_with].getPosition().x - enemy[collide_with].getRadius() - mainPlayer.getRadius();
P1.y = enemy[collide_with].getPosition().y - enemy[collide_with].getRadius() - mainPlayer.getRadius();
mainPlayer.move(P1.x,P1.y);
break;
//right none
case 32:
P1.x = enemy[collide_with].getPosition().x - enemy[collide_with].getRadius() - mainPlayer.getRadius();
P1.y = mouse.y;
mainPlayer.move(P1.x,P1.y);
break;
//none top
case 13:
P1.x = mouse.x;
P1.y = enemy[collide_with].getPosition().y + enemy[collide_with].getRadius() + mainPlayer.getRadius();
mainPlayer.move(P1.x,P1.y);
break;
//none bottom
case 23:
P1.x = mouse.x;
P1.y = enemy[collide_with].getPosition().y - enemy[collide_with].getRadius() - mainPlayer.getRadius();
mainPlayer.move(P1.x,P1.y);
break;
//none none
case 33:
mainPlayer.move(mouse.x,mouse.y);
break;
default:
mainPlayer.move(mouse.x,mouse.y);
break;
}
}
if (mainPlayer.getPosition().x == mouse.x && mainPlayer.getPosition().y == mouse.y)
_move = false;
//.........这里部分代码省略.........