如何在Python Ursina引擎中实现玩家高跳跃?代码问题排查
Ursina引擎中玩家高跳跃设置无效的解决办法
你代码里的问题很明确:第10行的self.jump = 1000是给level_1_class实例本身添加了一个无关属性,并没有作用到FirstPersonController类型的玩家对象上,所以完全不会改变玩家的跳跃高度。
Ursina的FirstPersonController类中,控制跳跃高度的属性是jump_height,而非你写的jump。同时需要将这个属性赋值给self.player对象,而不是当前的level_1_class实例。
修正后的完整代码如下:
class level_1_class(Entity): def __init__(self,**kwargs): self.player = FirstPersonController() super().__init__(parent = self.player) self.blocks = [] self.player.position.z = 10 self.player.speed = 300 self.player.scale = 90 self.player.jump_height = 1000 # 正确设置玩家跳跃高度
额外提醒:你设置的self.player.scale = 90数值过大,可能会导致玩家模型与场景元素比例严重失调,进而引发碰撞检测异常或显示问题,建议根据实际场景需求调整这个缩放值。
内容的提问来源于stack exchange,提问作者Gamer Shreyas Patel
相关产品推荐
相关产品推荐

