снова привет марио бегает но проблемы с прыжком выкидывает вот такую ошибку Traceback (most recent call last): File "D:\mario\mario.py", line 112, in player.update() File "D:\mario\mario.py", line 64, in update self.handle_input() File "D:\mario\mario.py", line 89, in handle_input self.jump() File "D:\mario\mario.py", line 97, in jump self.y_speed = self.jump.speed AttributeError: 'function' object has no attribute 'speed'
Не забудь отписать свое мнение в комменты =)
Спасибо, понятно и интересно
Помогите прыжок не работает с гравитацией игрался ничего
привет! классный ролик
Спасибо)
Когда летсплеи по маинкрафту?) Ждём
А ролик как всегда топ
Сначала надо Майн написать))
@@симагеймс а чтобы написать майн, еще пару лет учить Java)
@@kolondich А чтобы пару лет учить Java, надо сначала родиться)
@@benger7178 а чтобы родиться нужно подождать 13 миллиардов лет (возраст вселенной )
@@kolondich ну я пару лет учил Java, там не так сложно))
Как добавить картинку
он никак не прыгает можешь помочь
строка 43 self.gravity = 0.5 заміни на self.gravity = 0.4
@@robotrobot5805 спасибо пупсик
@@robotrobot5805 Дай бог тебе здоровья
Крутяк 🥳 Ты снимаешь 😍 прям как Я 🧐 можешь оценить 😇
Не прыгает ни в какую... Ошибку не выдаёт, влево - вправо ходит
Попробуй с гравитацией поиграть, больше-меньше её сделать
@@симагеймс Спасибо! на одну десятую меньше - работает О_о. Код 1 в 1 как ваш. Почему так вышло, от чего зависит?
@@svenn6377 сложно сказать. У меня с этим не было проблем, но пара человек уже написала) Возможно что-то с округлением чисел
@@симагеймс спасибо за ответы.
TypeError: Entity.update() missing 1 required positional argument: 'self'
Помогите пожалуйста, я на 4:41
Привет, ты скорее всего в игроке забыл в функции update параметр self
вот код
ground_image = pygame.image.load('ground.png')
ground_image = pygame.transform.scale(ground_image, (804, 60))
GROUND_H = ground_image.get_height()
enemy_image = pygame.image.load('goomba.png')
enemy_image = pygame.transform.scale(ground_image, (80, 80))
enemy_dead_image = pygame.image.load('goomba_dead.png')
enemy_dead_image = pygame.transform.scale(ground_image, (80, 80))
player_image = pygame.image.load('mario.png')
player_image = pygame.transform.scale(player_image, (60, 80))
class Entity:
def __init__(self, image):
self.image = image
self.rect = self.image.get_rect()
self.x_speed = 0
self.y_speed = 0
self.speed = 5
self.is_out = False
self.is_dead = False
self.jump_speed = -12
self.gravity = 0.5
self.is_grounded = False
def handle_input(self):
pass
def kill(self, dead_image):
self.image = dead_image
self.is_dead = True
self.x_speed = -self.x_speed
self.y_speed = self.jump_speed
def update(self):
self.rect.x += self.x_speed
self.y_speed += self.gravity
self.rect.y += self.y_speed
if self.is_dead:
if self.rect.top > H - GROUND_H:
self.is_out = True
else:
self.handle_input()
if self.rect.bottom > H - GROUND_H:
self.is_grounded = True
self.y_speed = 0
self.rect.bottom = H - GROUND_H
def draw(self, surface):
surface.blit(self.image, self.rect)
class Player(Entity):
def __init__(self):
super().__init__(player_image)
def handle_input(self):
self.x_speed = 0
keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
self.x_speed = -self.speed
elif keys[pygame.K_d]:
self.x_speed = self.speed
if self.is_grounded and keys[pygame.K_SPACE]:
self.is_grounded = False
self.jump()
def respawn(self):
self.is_out = False
self.is_dead = False
self.rect.midbottom = (W // 2, H - GROUND_H)
def jump(self):
self.y_speed = self.jump.speed
player = Player()
score = 0
снова привет марио бегает но проблемы с прыжком выкидывает вот такую ошибку
Traceback (most recent call last):
File "D:\mario\mario.py", line 112, in
player.update()
File "D:\mario\mario.py", line 64, in update
self.handle_input()
File "D:\mario\mario.py", line 89, in handle_input
self.jump()
File "D:\mario\mario.py", line 97, in jump
self.y_speed = self.jump.speed
AttributeError: 'function' object has no attribute 'speed'
попробуйте написать "self.jump_speed"
У тебя после speed точка стоит, а это функция в классе Player. Думает, что ты у функции переменную хочешь найти
Заработало