如何解决camera.smoothfollow问题(ursina)

问题描述 投票:0回答:1

camera.add_script(SmoothFollow()) 不起作用。这是我的代码:

from ursina import *

class Player(Entity):
    def __init__(self):
        super(Player, self).__init__(
            model='quad',
            scale=1,
            parent='scene',
            color=color.green
        )

        self.speed = 5



    def update(self):
        move_direction = Vec2(held_keys['d']-held_keys['a'], held_keys['w']-held_keys['s']).normalized()
        player.position += move_direction * player.speed * time.dt

app = Ursina()

player = Player()
camera.orthographic = True
camera.fov = 20
camera.add_script(SmoothFollow(target=player, speed=8, offset=[0, 0, -4]))

app.run()

我在其他实体(而不是相机)上尝试了这个脚本,它有效

python ursina
1个回答
0
投票

代码在 Linux 上适用于我 - 相机跟随玩家。

唯一的问题是因为场景是空的,你看不到它是如何变化的。

当我在场景中添加其他元素时,我会看到它如何跟随玩家,而其他元素则保留在旧位置。

app = Ursina()

player = Player()

e = Entity(model='cube')   # <--- other element

camera.orthographic = True
camera.fov = 20
camera.add_script(SmoothFollow(target=player, speed=8, offset=[0, 0, -4]))

app.run()
© www.soinside.com 2019 - 2024. All rights reserved.