#python #python-3.x #ursina
Вопрос:
У меня возникли некоторые проблемы при выполнении моего кода.
Я хочу, чтобы мой куб прыгал и двигался одновременно.
Когда я нажимаю up arrow
left arrow
и затем нажимаю space
, функция перехода, связанная с space
, не работает
Но он хорошо работает при одновременном нажатии других клавиш, таких как left arrow
и down arrow
.
И это также работает, когда я arrows
переодеваюсь wasd
.
Это ошибка в урсине или просто я допустил несколько ошибок ?
Мой код:
import ursina as us
app = us.Ursina()
class Player(us.Entity):
def __init__(self):
super().__init__(
parent=us.scene,
model='cube',
position=(0, -1, 5),
rotation=(0, 45, 0),
texture='white_cube',
color=us.color.azure,
)
us.camera.position = (0, 0, 0)
us.camera.rotation = (0, -1, 0)
self.gravity = 0.01
self.strength = 0.2
self.v = None
def update(self):
if us.held_keys['up arrow']:
self.position = self.forward * us.time.dt
if us.held_keys['down arrow']:
self.position = self.back * us.time.dt
if us.held_keys['right arrow']:
self.position = self.right * us.time.dt
if us.held_keys['left arrow']:
self.position = self.left * us.time.dt
if us.held_keys['space']:
self.jump()
if self.v != None:
self.v -= self.gravity
if self.v > -self.strength:
self.position = (0, self.v, 0)
else:
self.v = None
def jump(self):
if self.v == None:
self.v = self.strength
player = Player()
us.Sky()
app.run()
Комментарии:
1. Это звучит так, как будто у вас просто плохая клавиатура с плохим опрокидыванием .
2. но все в порядке с левым, нижним и пространством вместе
3. Я также попробовал wasd, и все в порядке, это все еще проблема с моей клавиатурой ?
4. Ваш код отлично работает для меня, любая комбинация стрелок и пробелов перемещается и прыгает одновременно
5. ок, похоже, мне нужно сменить клавиатуру