Guest User

Быдлокод_анимация.py

a guest
Dec 7th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.79 KB | None | 0 0
  1. ## main.py
  2.     if e.type == pygame.QUIT:
  3.                     done = False
  4.                 elif e.type == pygame.KEYDOWN:
  5.                     if e.key == K_RIGHT:
  6.                         self.herox += 3
  7.                         if not self.ani == 'move_ani':
  8.                             self.ani = 'move_ani'
  9.                             self.hero.set_animation(self.ani,True)
  10.                     elif e.key == K_DOWN:
  11.                         self.heroy += 3
  12.                         if not self.ani == 'move_ani':
  13.                             self.ani = 'move_ani'
  14.                             self.hero.set_animation(self.ani,True)
  15.                     elif e.key == K_LEFT:
  16.                         self.herox -= 3
  17.                         if not self.ani == 'move_ani':
  18.                             self.ani = 'move_ani'
  19.                             self.hero.set_animation(self.ani,True)
  20.                     elif e.key == K_UP:
  21.                         self.heroy -= 3
  22.                         if self.ani != 'move_ani':
  23.                             self.ani = 'move_ani'
  24.                             self.hero.set_animation(self.ani,True)
  25.                 if e.type == pygame.KEYUP:
  26.                     self.ani = 'idle_ani'
  27.                     self.hero.set_animation(self.ani)
  28.                     if e.key == K_SPACE:
  29.                         self.ani = 'atta_ani'
  30.                         self.hero.set_animation(self.ani,True)
  31.                     elif e.key == K_ESCAPE:
  32.                         done = False
  33. ## main.py
  34.  
  35.  
  36. ## hero.py
  37. def set_animation(self,key,playitonce=False):
  38.         self.playitonce = playitonce
  39.         if key == 'idle_ani':
  40.             self.hero = Animation(self.idle_ani,130)
  41.             #self.ani_flag = self.idle_ani
  42.         elif key == 'atta_ani':
  43.             self.hero = Oneani(self.atta_ani,130)
  44.             #self.ani_flag = self.move_ani
  45.         elif key == 'move_ani':
  46.             self.hero = Animation(self.move_ani,130)
  47. ## hero.py
  48.  
  49.  
  50. ## Oneani.py
  51. class Oneani:
  52.     def __init__(self,sprites=None, time=100):
  53.         self.sprites = sprites
  54.         self.time = time
  55.         self.work_time = 0
  56.         self.skip_frame = 0
  57.         self.frame = 0
  58.  
  59.     def update(self, dt):
  60.         self.work_time += dt
  61.         self.skip_frame = self.work_time // self.time
  62.         if self.skip_frame > 0:
  63.             self.work_time = self.work_time % self.time
  64.             self.frame += self.skip_frame
  65.             #print(self.sprites[self.frame]," : self frame: ",self.frame)
  66.             if self.frame >= len(self.sprites):
  67.                 self.frame = len(self.sprites) - 1
  68.                 return 1
  69.  
  70.  
  71.     def get_sprite(self):
  72.         return self.sprites[self.frame]
  73. ## Oneani.py
  74.  
  75. ## Animation.py
  76. class Animation:
  77.     def __init__(self, sprites=None, time=100):
  78.         self.sprites = sprites
  79.         self.time = time
  80.         self.work_time = 0
  81.         self.skip_frame = 0
  82.         self.frame = 0
  83.  
  84.     def update(self, dt):
  85.         self.work_time += dt
  86.         self.skip_frame = self.work_time // self.time
  87.         if self.skip_frame > 0:
  88.             self.work_time = self.work_time % self.time
  89.             self.frame += self.skip_frame
  90.             if self.frame >= len(self.sprites):
  91.                 self.frame = 0
  92.  
  93.     def get_sprite(self):
  94.         return self.sprites[self.frame]
  95.  
  96.     def get_int_sprite(self):
  97.         return self.frame
  98. ## Animation.py
Advertisement
Add Comment
Please, Sign In to add comment