我做了一个游戏,但我不知道游戏在其他设备上的工作方式是否相同.例如,如果计算机的CPU很高,玩家和敌人会移动得更快吗?如果是这样,有没有办法在SFML中定义可用的CPU使用率?玩家和敌人在我的程序中移动的方式是:1 - 检查按键是否按下2 - 如果是这样:move(x,y); 或者有没有办法让CPU在移动功能中执行一些操作.谢谢!
我最近一直在使用C++和SFML最新版本进行一个简单的游戏,但我遇到的问题是碰撞检测不是那么好,例如即使敌人没有碰到他,玩家也会死亡,但是就在他身边.以下是具有移动功能和碰撞检测代码的玩家类的代码以及敌人类的移动:
`class PlayerA:public CircleShape {public:
//Constructor:
PlayerA(float xposition, float yposition, float radius, float s)
{
setRadius(radius);
setFillColor(Color::Yellow);
setOutlineColor(Color(00,80,00));
setOutlineThickness(-2);
setPointCount(3);
setSpeed(s);
setPosition(xposition,yposition);
}
//Movements of the player:
void up()
{
move(0,-10*speed);
}
void down()
{
move(0,10*speed);
}
void right()
{
move(10*speed,0);
}
void left()
{
move(-10*speed,0);
}
void checkA(ObsA *obs1=NULL,ObsA *obs2=NULL, ObsA *obs3=NULL, ObsA *obs4=NULL, ObsA *obs5=NULL)
{
if(obs2==NULL)
{
if(getGlobalBounds().intersects(obs1->getGlobalBounds()))
{
relevel();
}
}
private:
float speed=0.00;
void obs()
{
if(speed > 0)
{
rotate(0.5*speed);
}
else
{
rotate(0.5*speed); …Run Code Online (Sandbox Code Playgroud)