я не буду приводить весь код, только суть. Небольшой код легче воспринимать.
Если что, все импорты работают. Объект двигается, когда я передаю ему целое число или вещественное, больше 1 (и он, конечно, движется со скоростью 1 при 1.9).
И конечно же он не движется при вещественном значении меньше 1, например 0.9
Я знаю, что rect не может хранить в себе вещественное число, но не понимаю, как это работает, чтобы передавать ему вещественные числа
class Settings:
# класс со всеми настройками, который я передаю в другой класс
def __init__(self):
# Если здесь будет целочисленное значение, то объект двигается.
# self.speed = 1 # Всё ОК!
# self.speed = 1.9 # Всё ОК!
# Объект не двигается с вещественными числами меньше 1
self.speed = 0.3
class NOMATTER:
# класс, описывающий поведение объектов...
# вызываемый метод
def move(self):
if self.rect.y > 0:
self.rect.y += float(self.settings.speed)
Где и как указывать float(), чтобы я мог с ними работать? Не совсем понимаю сам принцип. Вроде я должен присвоить float тому свойству, с которым я буду работать, например,
self.nevazhno_kakoe_nazvanie = float(self.rect.centerx) # Чтобы работать с перемещением по оси "икс"
# и затем:
self.nevazhno_kakoe_nazvanie += self.settings.speed
# и затем использовать:
self.rect.centerx = self.nevazhno_kakoe_nazvanie
Тогда, как я понимаю, это будет работать.
Но получается, что нужно всё "переводить" во float, с чем буду работать:
x, y, и т.д.
Мне кажется это громоздким и неудобным, и что я не понимаю концепцию. Может есть способ попроще, чтобы я сразу мог передать вещественное число 0.3 и работать с ним?