Ursina EditorCamera() 切换
Ursina EditorCamera() toggle
这是我用来在 Ursina 中使用 EditorCamera 和将其关闭之间切换的代码:
from ursina import *
app = Ursina()
def input(key):
if key == 'd':
editor_camera.enabled = False
if key == 'e':
editor_camera.enabled = True
editor_camera = EditorCamera(enabled = False)
cube = Entity(model = "cube", texture = "brick") # just to see if it works
app.run()
当像这样单独应用时,它工作正常,但是当我将相同的逻辑应用到一个更大的项目时,当启用相机(按 e)时,一切都消失了,当我禁用相机(按 d)时,一切重现。有什么我想念的吗?感谢任何帮助。
来自editor_camera.py:
def on_disable(self):
camera.editor_position = camera.position
camera.parent = camera.org_parent
camera.position = camera.org_position
camera.rotation = camera.org_rotation
所以当你禁用它时,它会将相机放回原来的位置,这在制作编辑器时很有用。
如果你只是想从 运行 停止编辑器相机的代码,我建议设置 editor_camera.ignore = True
并且更新和输入代码将停止 运行,但 on_disable 赢了被叫到。
或者你可以做 editor_camera.on_disable = None 或者手动重置位置和旋转。
在@pokepetter 的回答后,我想出了一个新的解决方案,只需将您的代码替换为这个:
from ursina import *
app = Ursina()
def input(key):
if key == 'd':
editor_camera.ignore = True
if key == 'e':
editor_camera.ignore = False
editor_camera = EditorCamera()
cube = Entity(model = "cube", texture = "brick")
app.run()
这是我用来在 Ursina 中使用 EditorCamera 和将其关闭之间切换的代码:
from ursina import *
app = Ursina()
def input(key):
if key == 'd':
editor_camera.enabled = False
if key == 'e':
editor_camera.enabled = True
editor_camera = EditorCamera(enabled = False)
cube = Entity(model = "cube", texture = "brick") # just to see if it works
app.run()
当像这样单独应用时,它工作正常,但是当我将相同的逻辑应用到一个更大的项目时,当启用相机(按 e)时,一切都消失了,当我禁用相机(按 d)时,一切重现。有什么我想念的吗?感谢任何帮助。
来自editor_camera.py:
def on_disable(self):
camera.editor_position = camera.position
camera.parent = camera.org_parent
camera.position = camera.org_position
camera.rotation = camera.org_rotation
所以当你禁用它时,它会将相机放回原来的位置,这在制作编辑器时很有用。
如果你只是想从 运行 停止编辑器相机的代码,我建议设置 editor_camera.ignore = True
并且更新和输入代码将停止 运行,但 on_disable 赢了被叫到。
或者你可以做 editor_camera.on_disable = None 或者手动重置位置和旋转。
在@pokepetter 的回答后,我想出了一个新的解决方案,只需将您的代码替换为这个:
from ursina import *
app = Ursina()
def input(key):
if key == 'd':
editor_camera.ignore = True
if key == 'e':
editor_camera.ignore = False
editor_camera = EditorCamera()
cube = Entity(model = "cube", texture = "brick")
app.run()