可爱的Pico动画NPC人物演示.py

"""可爱的Pico动画NPC人物演示.py,这个程序演示的是一些可爱的小精灵时不时地移动走来走去的动画"""

__author__ = "李兴球"
__date__ = "2018年7月"

import pygame
from pygame.locals import *
from random import choice,randint
import time

class Pico():
    counter = 0
    def __init__(self,picoRight,picoLeft,screen):
本文隐藏内容 登陆 后才可以浏览
def move(self): if self.暂停==False: if time.time()-self.walkStartTime > self.walkdelay: self.rect.x = self.rect.x + self.xspeed if self.rect.x<=0 or self.rect.right>480: self.xspeed = -self.xspeed self.heading = 1 - self.heading self.walkStartTime=time.time() def 下一个造型(self): if self.暂停==False: if time.time()-self.切换造型起始时间>self.切换造型延时: self.index = self.index + 1 self.index = self.index % 4 self.image = self.list[self.heading][self.index] self.切换造型起始时间 = time.time() def draw(self): self.screen.blit(self.image,self.rect) def 播放背景音乐(): pygame.mixer.init() pygame.mixer.music.load("OpusOne.wav") pygame.mixer.music.play(-1,0) def main(): pygame.init() screen = pygame.display.set_mode((480,360)) pygame.display.set_caption("可爱的Pico演示NPC人物,作者:李兴球") picoRight=[] picoRight.append(pygame.image.load("0右.png")) picoRight.append(pygame.image.load("1右.png")) picoRight.append(pygame.image.load("2右.png")) picoRight.append(pygame.image.load("3右.png")) picoLeft=[] picoLeft.append(pygame.image.load("0左.png")) picoLeft.append(pygame.image.load("1左.png")) picoLeft.append(pygame.image.load("2左.png")) picoLeft.append(pygame.image.load("3左.png")) 背景图 = pygame.image.load("stage.png") Picos = [Pico(picoRight,picoLeft,screen) for i in range(4)] for pico in Picos: pygame.time.set_timer(pico.暂停事件, randint(960,3600)) # 随机时间 触发 clock = pygame.time.Clock() 运行中= True while 运行中: for event in pygame.event.get(): if event.type == QUIT:运行中 = False for pico in Picos: if event.type == pico.暂停事件: pico.暂停 = not pico.暂停 pygame.time.set_timer(pico.暂停事件, randint(960,3600)) # 随机时间 触发 #下面这几句话是让pico有时改变方向 r = randint(0,1) pico.heading = r if pico.heading==0: pico.xspeed = -2 else: pico.xspeed = 2 for pico in Picos: pico.move() pico.下一个造型() screen.blit(背景图,(0,0)) for pico in Picos: pico.draw() pygame.display.update() clock.tick(30) pygame.quit() if __name__ == "__main__": 播放背景音乐() main()