NPC多造型角色模拟状态机时走时停的增强型AnimatedSprite类

NPC多造型角色模拟状态机时走时停的增强型AnimatedSprite类by lixingqiu李兴球
小人儿时走时停的。一切都由程序控制。它没有自己的思想。下面是部分代码预览:

"""
 
   NPC多造型角色模拟状态机时走时停的增强型AnimatedSprite类。
   本程序模拟了状态机,会演示一个小人物走来走去,它碰到屏幕边缘会反弹。
   并且角色在走的过程中可能停下来。为了增强代码可读性,
   本程序角色所有造型共享一个矩形对象,不再设置矩形对象列表。
   
"""
import time
import pygame
from pygame.locals import *
from random import randint

class AnimatedSprite(pygame.sprite.Sprite):
    def __init__(self,images,pos,screen):
        """
           images:帧序列,pos:坐标,screen:所在屏幕
        """
        pygame.sprite.Sprite.__init__(self)
        self.sw = screen.get_width()
        self.sh = screen.get_height()
        self.amounts = len(images)        # 造型数量
        self.right_frames = images
        ..........................
           
def main():

    background = "stripes.png"
    width,height = 480,360
    screen = pygame.display.set_mode((width,height))
    pygame.display.set_caption("NPC多造型角色模拟状态机时走时停的增强型AnimatedSprite类")
    background = pygame.image.load(background)
    images = [f"pico/right_{i}.png" for i in range(4)]
    images = [pygame.image.load(im) for im in images]
    .................................................    
    running = True
    while running:
        for event in pygame.event.get():
            if event.type == QUIT:running=False
        group.update()
        screen.blit(background,(0,0))
        group.draw(screen)
        pygame.display.update()
    pygame.quit()

if __name__ == "__main__":

    main()
    

如需要查看完整源代码,请扫码付款:

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿_pygame » NPC多造型角色模拟状态机时走时停的增强型AnimatedSprite类
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页