北京市哪里治疗白癜风最好 http://pf.39.net/bdfyy/bjzkbdfyy/导语哈喽大家好!我是木子,想我了吗??大声点儿,听不见~ok收到了,每日游戏更新!你们的木木子又来,准时更新中~《会说话的TOM猫》是多少人的童年记忆?哈哈哈~我姐就经常把这个打开给家里的孩子玩儿,小孩子玩的经常哈哈大笑!这只猫会学你说话,抚摸它的头和肚子会发出呼噜声,打它的肚子它会叫,踩它的两只脚,会分别发出不同的叫声,摸它的鼻子还会打喷嚏。我看着也感觉挺有趣的~对,没错,今天就手动带大家仿写一款会说话的TOM猫游戏给大家~欢迎阅读往期游戏文章:1.成语接龙游戏项目。2.塔防游戏项目。3.记忆翻牌游戏项目。4.吃豆豆小游戏项目。5.外星人入侵游戏项目。6.数织游戏项目。7.脑力锻炼游戏项目。8.垃圾分类小游戏项目。9.雷霆战机游戏项目。10.”我的兔子“游戏项目。11.八音符游戏项目。12.拼图小游戏项目。13.滑雪小游戏项目。14.桌面宠物项目。15.无敌金身小恐龙。16.坦克大战游戏项目。17.走迷宫游戏项目。18.像素鸟游戏项目。19.21款python一行代码小游戏20.贪食蛇游戏。21.打地鼠游戏项目。22.测试打字游戏项目。更多内容每日更新......正文开始啦,先准备好开始界面的一些图片素材等等:这上面的是tom猫会做的一些动作的按钮。(1)定义mian()函数,设置界面标题等。defmain(self)
1.1设置窗口标题pygame.display.set_caption(汤姆猫,)#1.2设置死循环whileTrue
1.4业务逻辑执行self.action()#1.5图形图片绘制self.paint()#1.3更新屏幕pygame.display.update()(2)定义tom猫动作action。action函数业务逻辑处理。defaction(self)
2.1事件监听迭代foreventinpygame.event.get()
2.2判断事件类型ifevent.type==pygame.QUIT:sys.exit()#2.3鼠标单击mouseX,mouseY=pygame.mouse.get_pos()#获取鼠标单击事件#[0]左键单击[1]左键双击[2]右击leftFlag=pygame.mouse.get_pressed()[0]#2.4判断ifleftFlagand30mouseX30+60\andmouseY+60
吃鸟的动作#print(进入了)self.animation=0#重新设置indexself.index=0elifleftFlagand30mouseX30+60\andmouseY+60:self.animation=1self.index=0elifleftFlagand30mouseX30+60\andmouseY+60:self.animation=2self.index=0elifleftFlagandmouseX+60\andmouseY+60:self.animation=3self.index=0elifleftFlagandmouseX+60\andmouseY+60:self.animation=4self.index=0elifleftFlagandmouseX+60\andmouseY+60:self.animation=5self.index=0#....未完elifleftFlagandmouseX+60\andmouseY+60:self.animation=6self.index=0(3)paint函数绘制图形。tom猫的形象。defpaint(self):#3.6判断是否执行动画效果ifself.animation==0:#3.2图片集转换值增加self.index+=1#3.3设置图片转换频率#index0/10==0%10==0#index1/10==0%10==0#...#index11/10==1%10==1#ix=#ix每调用一次函数10次才会刷新一次ix=self.index/10%len(self.eats)#3.4重新赋值图片ix--floatself.background=self.eats[int(ix)]#判断是否是最后一张ifint(ix)==39:self.animation=-1elifself.animation==1:self.index+=1ix=self.index/10%len(self.drinks)self.background=self.drinks[int(ix)]ifint(ix)==79:self.animation=-1elifself.animation==2:self.index+=1ix=self.index/30%len(self.cymbals)self.background=self.cymbals[int(ix)]ifint(ix)==11:self.animation=-1elifself.animation==3:self.index+=1ix=self.index/10%len(self.farts)self.background=self.farts[int(ix)]ifint(ix)==26:self.animation=-1elifself.animation==4:self.index+=1ix=self.index/10%len(self.pies)self.background=self.pies[int(ix)]ifint(ix)==22:self.animation=-1elifself.animation==5:self.index+=1ix=self.index/10%len(self.scratchs)self.background=self.scratchs[int(ix)]ifint(ix)==54:self.animation=-1elifself.animation==6:#头self.index+=1ix=self.index/10%len(self.angrys)self.background=self.angrys[int(ix)]ifint(ix)==24:self.animation=-1elifself.animation==7:#肚子self.index+=1ix=self.index/10%len(self.stomachs)self.background=self.stomachs[int(ix)]ifint(ix)==32:self.animation=-1elifself.animation==8:#尾巴self.index+=1ix=self.index/10%len(self.knockouts)self.background=self.knockouts[int(ix)]ifint(ix)==79:self.animation=-1elifself.animation==9:#左脚self.index+=1ix=self.index/10%len(self.footLefts)self.background=self.stomachs[int(ix)]ifint(ix)==28:self.animation=-1elifself.animation==10:#右脚self.index+=1ix=self.index/10%len(self.footRights)self.background=self.footRights[int(ix)]ifint(ix)==28:self.animation=-1#3.1绘制背景图片self.screen.blit(pygame.transform.scale(self.background,(,)),(0,0))#3.5绘制吃鸟动作self.screen.blit(self.eat,(30,))self.screen.blit(self.drink,(30,))self.screen.blit(self.cymbal,(30,))self.screen.blit(self.fart,(,))self.screen.blit(self.pie,(,))self.screen.blit(self.scratch,(,))#self.screen.blit(self.angry,(,))#self.screen.blit(self.stomach,(,))#self.screen.blit(self.knockout,(,))#self.screen.blit(self.footLeft,(,))#self.screen.blit(self.footRights,(,))(4)__init__函数属性初始化。def__init__(self):#窗口大小设置self.screen=pygame.display.set_mode((,),0,0)#背景图片self.background=pygame.image.load(Animations/Eat/eat_00.jpg)#图片列表存储self.eats=self.getImage(Animations/Eat/eat_0,Animations/Eat/eat_,.jpg,40)self.drinks=self.getImage(Animations/Drink/drink_0,Animations/Drink/drink_,.jpg,80)self.cymbals=self.getImage(Animations/Cymbal/cymbal_0,Animations/Cymbal/cymbal_,.jpg,12)self.farts=self.getImage(Animations/Fart/fart_0,Animations/Fart/fart_,.jpg,27)self.pies=self.getImage(Animations/Pie/pie_0,Animations/Pie/pie_,.jpg,23)self.scratchs=self.getImage(Animations/Scratch/scratch_0,Animations/Scratch/scratch_,.jpg,55)self.angrys=self.getImage(Animations/Angry/angry_0,Animations/Angry/angry_,.jpg,25)self.stomachs=self.getImage(Animations/Stomach/stomach_0,Animations/Stomach/stomach_,.jpg,33)self.knockouts=self.getImage(Animations/Knockout/knockout_0,Animations/Knockout/knockout_,.jpg,80)self.footLefts=self.getImage(Animations/FootLeft/footLeft_0,Animations/FootLeft/footLeft_,.jpg,29)self.footRights=self.getImage(Animations/FootRight/footRight_0,Animations/FootRight/footRight_,.jpg,29)#图片集转换值self.index=0#吃鸟self.eat=pygame.image.load(Buttons/eat.png)#判断动画动作self.animation=-1#喝奶self.drink=pygame.image.load(Buttons/drink.png)self.cymbal=pygame.image.load(Buttons/cymbal.png)self.fart=pygame.image.load(Buttons/fart.png)self.pie=pygame.image.load(Buttons/pie.png)self.scratch=pygame.image.load(Buttons/scratch.png)(5)getImage()获取图片列表。defgetImage(self,prePath1,prePath2,endPath,picNum):#5.4定义列表imageList=[]#5.1循环迭代赋值图片foriinrange(0,picNum):#5.2获取图片路径ifi10:imgPath=prePath1+str(i)+endPathelse:imgPath=prePath2+str(i)+endPath#5.3返回列表imageList.append(pygame.image.load(imgPath))#5.5返回returnimageList效果图:总结好啦!一款会说话的tom猫就完成了!代码真的超多的,如需要完整的代码老规矩。源码基地:#私信小编06#即可免费领取哦!!制作不易,记得一键三连哦!!如果需要新手安装包激活码、配套完整项目+源码笔记、更多Python资料也在源码基地哦!