Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 0 / 1
Регистрация: 01.06.2019
Сообщений: 61
1

Pyglet, проблемы с анимацией

09.02.2020, 00:04. Показов 1567. Ответов 1

Author24 — интернет-сервис помощи студентам
Заинтересовался библиотекой pyglet, потихоньку читая документацию и находя хоть какие то примеры, попробовал сделать небольшую анимацию при движении. Вроде все работает, но есть 3 проблемы.
1. По задумке когда объект движется (условно назовем его персонаж) когда нажата клавиша идет анимация ходьбы (цифры от 1 до 8) когда ее отжимаешь идет условная анимация как он стоит (отзеркаленные цифры), но если нажать 2 клавиши одновременно а потом 1 отпустить тут же проигрывается анимация как он стоит, хотя объект двигается.
2. Все анимации проигрываются своим ходом, то есть если я нажму клавишу анимация может начинатсьяся с 3 кадра или с 1 или с 7 и т д.
3. Сам код. Вот чувствую пятой точкой что можно было сделать проще, но пока не хватает умений и знаний, поэтому сделал как я понимаю и могу на данный момент.
Вложения
Тип файла: rar pyglet.rar (8.6 Кб, 5 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2020, 00:04
Ответы с готовыми решениями:

Pyglet, прорисовка карты
Доброе время суток, помогите пожалуйста в следующем вопросе. Хотел с помощью pyglet нарисовать...

Проблемы с анимацией
Чтобы сознавать анимацию движения планет приходиться очищать canvas но в то же время метод...

Проблемы с анимацией
Здравствуйте. Может кто сталкивался с такой проблемой. Когда персонаж садится на стул и...

Проблемы с анимацией
<!DOCTYPE html> <head> <meta charset="utf-8"> <title></title> <style> ...

1
1287 / 672 / 365
Регистрация: 07.01.2019
Сообщений: 2,251
09.02.2020, 03:20 2
Лучший ответ Сообщение было отмечено Kxarog как решение

Решение

Цитата Сообщение от Kxarog Посмотреть сообщение
По задумке когда объект движется (условно назовем его персонаж) когда нажата клавиша идет анимация ходьбы (цифры от 1 до 8) когда ее отжимаешь идет условная анимация как он стоит (отзеркаленные цифры), но если нажать 2 клавиши одновременно а потом 1 отпустить тут же проигрывается анимация как он стоит, хотя объект двигается.
Вы в методе on_draw сперва проверяете надо ли идти, а потом надо ли стоять, вот значение из on_key_release и оказывается последним, поменяйте местами

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if player_stop == "right":
        z = player_stop_right
    if player_stop == "left":
        z = player_stop_left
    if player_stop == "up":
        z = player_stop_up
    if player_stop == "down":
        z = player_stop_down
 
    if right == True:
        z = player_right
    if left == True:
        z = player_left
    if up == True:
        z = player_up
    if down == True:
        z = player_down
Цитата Сообщение от Kxarog Посмотреть сообщение
Все анимации проигрываются своим ходом, то есть если я нажму клавишу анимация может начинатсьяся с 3 кадра или с 1 или с 7 и т д.
Тут ничего не сделаешь, в классе нет подсчета кадров

Цитата Сообщение от Kxarog Посмотреть сообщение
Сам код. Вот чувствую пятой точкой что можно было сделать проще, но пока не хватает умений и знаний, поэтому сделал как я понимаю и могу на данный момент.
Тут код совсем простой, особо не поупрощаешь, так разве что

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
player_stop = "down"
player_stops = {"right": player_stop_right, "left": player_stop_left, "up": player_stop_up, "down": player_stop_down, "move": None}
z = player_stop_up
 
@window.event
def on_draw():
    global z
    window.clear()
    fps_display.draw()
    z.draw()
 
    z = player_stops[player_stop]
 
    if right == True:
        z = player_right
    if left == True:
        z = player_left
    if up == True:
        z = player_up
    if down == True:
        z = player_down
1
09.02.2020, 03:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2020, 03:20
Помогаю со студенческими работами здесь

Проблемы с анимацией
Здравствуйте уважаемые форумчане! Помогите пожалуйста с курсовой работой. C++ изучаю совсем недавно...

Проблемы с анимацией
Что делать если когда я запускаю игру анимация переходит в идл, а потом в ран и остаётся там, хотя...

Проблемы с анимацией
Написал JS код, благодаря которому из под одной картинки выезжает другая при наведении на нее...

проблемы с анимацией в юнити2д
Есть сцена в которой есть UI панель с анимацией и если загружаться с этой сцены то все анимации...

Проблемы с анимацией JavaFX
Здравствуйте, animationTimer почему-то суммирует скорости всех планет и они двигаются с одинаковой...

Проблемы с начальной анимацией
Пытаюсь освоить анимацию в css3, но никак не могу понять где ошибка в моем коде?) body, html {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru