Я и мой друг делаем игру на движке Ursina, Python. Мой друг (который использует Windows) говорит мне, что на его машине код работает отлично, а у меня на компьютере, когда я запускаю код, вылезает вот такая ошибка:
if player.intersects().hit and player.intersects().entity.__class__ == Coin:
^^^^^^^^^^^^^^^^^^^
Это единственное, что говорит ошибка. Эта ошибка начала появляться, когда мы изменили монету из переменной на класс. Вот код:
from ursina import *
from ursina.prefabs.platformer_controller_2d import PlatformerController2d
player = PlatformerController2d(y=0, z=.01, scale_z=0, scale_y=2, max_jumps=2,
collider="box", gravity=.4, texture="assets/idle.png", color=color.white)
class Coin(Entity):
def __init__(self, position = (0,0,.01), color=color.yellow,size=(1, 1)):
super().__init__(
parent = scene,
position = position,
model='cube',
collider='box',
origin_y = 0,
size=(1,1),
color=color
)
def update():
global coin
hit_info = player.intersects()
if hit_info.hit and hit_info.entity.__class__ == Coin:
coin_counter += 1
destroy(hit_info.entity)
Подробнее здесь: https://stackoverflow.com/questions/793 ... t-on-linux