Я создал простую игру, в которой вы перемещаете прямоугольник влево и вправо с помощью клавиш со стрелками. Проблема в том, что прямоугольник иногда заикается при движении. Заикание не прекращается и происходит постоянно, пока прямоугольник движется. Каков правильный способ решения этой проблемы? Вот код:
import pygame
class Player:
def __init__(self):
self.sprite = pygame.Surface((89, 157))
self.position = [100, 500]
self.speed = 0
self.max_positive_speed = 100
self.max_negative_speed = -100
def update(self, direction=None):
if direction == 'left':
if (self.speed - 10) < self.max_negative_speed:
self.speed = self.max_negative_speed
else:
self.speed -= 10
elif direction == 'right':
if (self.speed + 10) > self.max_positive_speed:
self.speed = self.max_positive_speed
else:
self.speed += 10
elif self.speed > 0:
self.speed -= 10
elif self.speed < 0:
self.speed += 10
else:
return
self.position[0] += int(0.06 * self.speed)
def main():
pygame.init()
screen = pygame.display.set_mode((1280, 720))
clock = pygame.time.Clock()
running = True
player = Player()
background = pygame.Surface((1280, 720))
background.fill('white')
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and keys[pygame.K_RIGHT]:
player.update()
elif keys[pygame.K_LEFT]:
player.update('left')
elif keys[pygame.K_RIGHT]:
player.update('right')
else:
player.update()
screen.blit(background)
screen.blit(player.sprite, dest=player.position)
pygame.display.flip()
clock.tick(60)
if __name__ == '__main__':
main()
pygame.quit()
Подробнее здесь: https://stackoverflow.com/questions/798 ... -an-object
Заикание Pygame при перемещении объекта ⇐ Python
Программы на Python
1763124047
Anonymous
Я создал простую игру, в которой вы перемещаете прямоугольник влево и вправо с помощью клавиш со стрелками. Проблема в том, что прямоугольник иногда заикается при движении. Заикание не прекращается и происходит постоянно, пока прямоугольник движется. Каков правильный способ решения этой проблемы? Вот код:
import pygame
class Player:
def __init__(self):
self.sprite = pygame.Surface((89, 157))
self.position = [100, 500]
self.speed = 0
self.max_positive_speed = 100
self.max_negative_speed = -100
def update(self, direction=None):
if direction == 'left':
if (self.speed - 10) < self.max_negative_speed:
self.speed = self.max_negative_speed
else:
self.speed -= 10
elif direction == 'right':
if (self.speed + 10) > self.max_positive_speed:
self.speed = self.max_positive_speed
else:
self.speed += 10
elif self.speed > 0:
self.speed -= 10
elif self.speed < 0:
self.speed += 10
else:
return
self.position[0] += int(0.06 * self.speed)
def main():
pygame.init()
screen = pygame.display.set_mode((1280, 720))
clock = pygame.time.Clock()
running = True
player = Player()
background = pygame.Surface((1280, 720))
background.fill('white')
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and keys[pygame.K_RIGHT]:
player.update()
elif keys[pygame.K_LEFT]:
player.update('left')
elif keys[pygame.K_RIGHT]:
player.update('right')
else:
player.update()
screen.blit(background)
screen.blit(player.sprite, dest=player.position)
pygame.display.flip()
clock.tick(60)
if __name__ == '__main__':
main()
pygame.quit()
Подробнее здесь: [url]https://stackoverflow.com/questions/79820039/pygame-stuttering-when-moving-an-object[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия