小人儿时走时停的。一切都由程序控制。它没有自己的思想。下面是部分代码预览:
""" 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()
如需要查看完整源代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)