0 / 0 / 0
Регистрация: 06.03.2019
Сообщений: 55
1

Не могу понять как проиграть анимацию один раз при ударе ногой

09.02.2020, 19:50. Показов 678. Ответов 2

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import pygame
pygame.init()
win = pygame.display.set_mode((1024,768))
pygame.display.set_caption("Green Arrow")
walkRight = [pygame.image.load('R1.png'),pygame.image.load('R2.png'),pygame.image.load('R3.png'),pygame.image.load('R4.png')
,pygame.image.load('R5.png'),pygame.image.load('R6.png')]
walkLeft = [pygame.image.load('L1.png'),pygame.image.load('L2.png'),pygame.image.load('L3.png'),pygame.image.load('L4.png')
,pygame.image.load('L5.png'),pygame.image.load('L6.png')]
playerStand = pygame.image.load('gg.png')
bg = pygame.image.load('level1.png')
jump = [pygame.image.load('jump2.png')]
pushr = [pygame.image.load('push_leg2.png')]
clock = pygame.time.Clock()
x = 10
y = 650
width = 90
height = 106
speed = 7
isJump = False
push = False
jumpCount = 10
left = False
right = False
animCount = 0
def drawWindow():
    global animCount
    win.blit(bg, (0,0))
    if animCount + 1 >=30:
        animCount = 0
    if left:
        win.blit(walkLeft[animCount // 5], (x,y))
        animCount += 1
    elif right:
        win.blit(walkRight[animCount // 5], (x,y))
        animCount += 1
    elif isJump:
        win.blit(jump[animCount // 15], (x,y))
        animCount += 1
    elif push:
        win.blit(pushr[animCount // 15], (x,y))
        animCount += 1 
    else:
        win.blit(playerStand, (x,y))
    pygame.display.update()
run = True
while run:
    clock.tick(30)
 
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
    keys = pygame.key.get_pressed()
    if keys[pygame.K_r]:
        push = True
    if keys[pygame.K_LEFT] and x > 5:
        x -= speed
        left = True
        right = False
        push = False
    elif keys[pygame.K_RIGHT] and x < 1024 - width - 5:
        x += speed
        left = False
        right = True
        push = False
    else:
        left = False
        right = False
        animCount = 0
    if not(isJump):
        if keys[pygame.K_SPACE]:
            isJump = True
            push = False
    else:
        if jumpCount >= -10:
            if jumpCount < 0:
                y += (jumpCount ** 2) / 1.5
            else:
                y -= (jumpCount ** 2) / 1.5
            jumpCount -= 1
 
        else:
            isJump = False
            jumpCount = 10
    drawWindow()
pygame.quit()
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2020, 19:50
Ответы с готовыми решениями:

Как проиграть спрайтовую анимацию зацикленного клипа только один раз?
Здравствуйте, требуется воспроизвести анимацию в зацикленном клипе только один раз. Сейчас делаю...

Как проиграть мелодию только один раз?
на форме есть label. Каждые 5 секунд к значению в label прибавляется 1. Когда label = 5, тогда...

Один раз загрузить и много раз проиграть звук
sndPlaySound(OpenDialog1-&gt;FileName , SND_ASYNC); Эта функция каждый раз перед проигрыванием звука...

При возвращении на слайд проиграть анимацию заново
Во время презентации я с помощью гиперссылки перехожу на слайд, анимация которого уже прошла. Как...

2
1281 / 667 / 364
Регистрация: 07.01.2019
Сообщений: 2,176
09.02.2020, 23:28 2
Выложите проект с изображениями
0
0 / 0 / 0
Регистрация: 06.03.2019
Сообщений: 55
09.02.2020, 23:32  [ТС] 3
Уже сам разобрался, спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2020, 23:32
Помогаю со студенческими работами здесь

Как проиграть gif анимацию на рабочем столе
Имеется программа которая воспроизводит несколько звуков подряд. Нужно чтоб при воспроизведении...

Не могу понять почему при компиляции вылезает ещё один проект
Здравствуйте у меня есть код , почему-то при компиляции вылезает совершенно незнакомый код , в...

Как проиграть звук несколько раз подряд?
Точнее - как заставить играть каждый раз до конца? System.Media.SoundPlayer player =...

Мониторить один из чатов в телеграме, при поступлении сообщения отобразить его и проиграть звуковой сигнал.
Стоит такая задача: нужно мониторить один из чатов в телеграме, при поступлении сообщения в этот...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru