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()
我在其他实体(而不是相机)上尝试了这个脚本,它有效
代码在 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()