因此,我正在制作一个平台2D游戏与拱门,由于某种原因,我的游戏总是到30 FPS,而不是去60 FPS。
不仅如此,当我按左箭头键将我的角色移到左边时,它会下降到~4 FPS。
我的移动系统的代码(我必须做一个照相机)
def update(self, x):
    # update player
    if self.player != None:
        self.player.real_x += self.player.movement
        self.player.center_y -= gravityConstant我使用'real_x‘变量,而不是使用'center_x’,因为相机。忽略重力没有加速的事实,总是使角色以恒定的速度下降(会修复这个问题)。
播放机将始终位于屏幕中央:
    self.player.center_x = self.x / 2;起初我以为雪碧的运动造成了滞后,但当我增加重力时,我注意到问题只是X轴的运动。当角色由于重力而下降时,它会以30 FPS的速度运行,但是当它向任何不是Y (X,-X)的方向移动时,它会将游戏的速度减慢到~4 FPS。
虽然我的电脑很坏,但我不认为它可以对这个脆弱的问题负责。
规范:处理器: 1.58 GHz内存: 3.99 /4.00GB
编辑:这发生在左、右两种动作中。移动是通过arcade.Window类处理的。
职能代码:
def onKeyDown(self, symbol):
    if symbol == arcade.key.LEFT:
        self.movement = -self.walk_speed;
    elif symbol == arcade.key.RIGHT:
        self.movement = self.walk_speed;
    elif symbol == arcade.key.UP:
        self.jumping = True;
def onKeyUp(self, symbol):
    if symbol == arcade.key.LEFT:
        self.movement = 0;
    elif symbol == arcade.key.RIGHT:
        self.movement = 0;
    elif symbol == arcade.key.UP:
        self.jumping = False;on_key_press和on_key_release的代码:
def on_key_press(self, symbol, modifier):
    if self.player != None:
        self.player.onKeyDown(symbol);
def on_key_release(self, symbol, modifier):
    if self.player != None:
        self.player.onKeyUp(symbol);注意:这适用于类,因此这些函数位于Player类中。
发布于 2018-11-11 02:37:14
你介意让代码中的一部分负责这些动作吗?
另外,检查将东西放在屏幕上的位置,您想要创建一个变量,将其设置为图像,然后调用var。至于只有在向左移动时才会发生这种情况,请确保左脚本与右脚本相同,但是-而不是+。
https://stackoverflow.com/questions/53245257
复制相似问题