You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 04:59:58