Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## main.py
- if e.type == pygame.QUIT:
- done = False
- elif e.type == pygame.KEYDOWN:
- if e.key == K_RIGHT:
- self.herox += 3
- if not self.ani == 'move_ani':
- self.ani = 'move_ani'
- self.hero.set_animation(self.ani,True)
- elif e.key == K_DOWN:
- self.heroy += 3
- if not self.ani == 'move_ani':
- self.ani = 'move_ani'
- self.hero.set_animation(self.ani,True)
- elif e.key == K_LEFT:
- self.herox -= 3
- if not self.ani == 'move_ani':
- self.ani = 'move_ani'
- self.hero.set_animation(self.ani,True)
- elif e.key == K_UP:
- self.heroy -= 3
- if self.ani != 'move_ani':
- self.ani = 'move_ani'
- self.hero.set_animation(self.ani,True)
- if e.type == pygame.KEYUP:
- self.ani = 'idle_ani'
- self.hero.set_animation(self.ani)
- if e.key == K_SPACE:
- self.ani = 'atta_ani'
- self.hero.set_animation(self.ani,True)
- elif e.key == K_ESCAPE:
- done = False
- ## main.py
- ## hero.py
- def set_animation(self,key,playitonce=False):
- self.playitonce = playitonce
- if key == 'idle_ani':
- self.hero = Animation(self.idle_ani,130)
- #self.ani_flag = self.idle_ani
- elif key == 'atta_ani':
- self.hero = Oneani(self.atta_ani,130)
- #self.ani_flag = self.move_ani
- elif key == 'move_ani':
- self.hero = Animation(self.move_ani,130)
- ## hero.py
- ## Oneani.py
- class Oneani:
- def __init__(self,sprites=None, time=100):
- self.sprites = sprites
- self.time = time
- self.work_time = 0
- self.skip_frame = 0
- self.frame = 0
- def update(self, dt):
- self.work_time += dt
- self.skip_frame = self.work_time // self.time
- if self.skip_frame > 0:
- self.work_time = self.work_time % self.time
- self.frame += self.skip_frame
- #print(self.sprites[self.frame]," : self frame: ",self.frame)
- if self.frame >= len(self.sprites):
- self.frame = len(self.sprites) - 1
- return 1
- def get_sprite(self):
- return self.sprites[self.frame]
- ## Oneani.py
- ## Animation.py
- class Animation:
- def __init__(self, sprites=None, time=100):
- self.sprites = sprites
- self.time = time
- self.work_time = 0
- self.skip_frame = 0
- self.frame = 0
- def update(self, dt):
- self.work_time += dt
- self.skip_frame = self.work_time // self.time
- if self.skip_frame > 0:
- self.work_time = self.work_time % self.time
- self.frame += self.skip_frame
- if self.frame >= len(self.sprites):
- self.frame = 0
- def get_sprite(self):
- return self.sprites[self.frame]
- def get_int_sprite(self):
- return self.frame
- ## Animation.py
Advertisement
Add Comment
Please, Sign In to add comment