#python #user-interface #ursina
Вопрос:
Я работал с «Движком Урсины», Мой проект состоит в том, чтобы сделать копию Minecraft, затем я обнаружил проблему, которая заключается в том, что каждый раз, когда я запускаю программу и когда я хочу щелкнуть правой кнопкой мыши, чтобы разместить блок, ничего не происходит.
Спасибо тому, кто может помочь мне найти проблему и рассказать, как ее исправить * Вот мой код:*
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
class Vovel(Button):
def __init__(self, position = (0,0,0)):
super().__init__(
parent=scene,
position=position,
model='cube',
origin_y = 0.5,
texture= 'white_cube',
color= color.white,
highlight_color = color.lime,
)
def Input(self, key):
if self.hovered:
if key == 'left mouse down':
vovel = Vovel(position= self.position mouse.normal)
if key == 'right mouse down':
destroy(self)
app = Ursina()
for z in range(8):
for x in range(8):
vovel = Vovel(position= (x,0,z))
player = FirstPersonController()
app.run()
Конец.
Комментарии:
1. вы запускали код в консоли/терминале для se, если вы получаете сообщение об ошибке?
Ответ №1:
Имя функции ввода неверно. Input
должно быть input
Ответ №2:
Функция ввода должна быть input
и нет Input
, остальная часть кода абсолютно правильна. Итак, ваш код должен быть:
from ursina import *
from ursina.prefabs.first_person_controller import FirstPersonController
class Vovel(Button):
def __init__(self, position=(0, 0, 0)):
super().__init__(
parent=scene,
position=position,
model='cube',
origin_y=0.5,
texture='white_cube',
color=color.white,
highlight_color=color.lime,
)
def input(self, key):
if self.hovered:
if key == 'left mouse down':
vovel = Vovel(position=self.position mouse.normal)
if key == 'right mouse down':
destroy(self)
app = Ursina()
for z in range(8):
for x in range(8):
vovel = Vovel(position=(x, 0, z))
player = FirstPersonController()
app.run()
Этот код работает, вы можете разместить блок щелчком левой кнопки мыши и удалить блок щелчком правой кнопки мыши!
Ответ №3:
Ну, у вас есть две проблемы, одна из которых заключается в том, что строка: ваш код
Дело в том, что это должен быть Воксел, а не Вовель
И вторая проблема в том, что вы перепутали «правую мышь вниз» и «левую мышь вниз».
В этом, очевидно, и заключается проблема.