在 Ursina 中使用鼠标正确关闭窗口

krm*_*ogi 3 python mouse window ursina

在过去的几天里,我一直在使用Python 的 Ursina 引擎,用于创建 3D 和 2D 游戏。但我在制作 3D 游戏时使用该引擎经常遇到的问题是无法正确关闭窗口。发生这种情况是因为在游戏内部使用鼠标来控制玩家,所以如果我尝试转到关闭按钮,鼠标将始终留在游戏中。解决方法是移动到另一个窗口,将鼠标定位在窗口之外,然后最后单击关闭按钮。但这对于用户来说需要做很多工作,只是简单地关闭窗口。

下面是一些简单的代码来演示:

from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
import random

game = Ursina()

class Block(Button):
    def __init__(self, position = (0,0,0)):
        super().__init__(parent = scene, position = position, model = 'cube', color = color.white)

for z in range(20):
    for x in range(20):
        block = Block(position = (x, 0, z))

player = FirstPersonController()
game.run()
Run Code Online (Sandbox Code Playgroud)

我相信这个 import 语句导致了这个:

from ursina.prefabs.first_person_controller import FirstPersonController

如何在 Ursina 中正确关闭窗口?

Inf*_*857 6

解决此问题的一种方法是创建一种通过按键退出游戏的方法。

def input(key):
    if key == 'escape':
        quit()
Run Code Online (Sandbox Code Playgroud)

使用此代码,您可以通过按“退出”来关闭游戏。