- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python程序设计第13章游戏开发(16次课)剖析
13.3 游戏开发 【例13-2】 被钓的鱼。 游戏背景:读过海明威的《老人与海》吗?那条被老人钓到的大鱼拖着小船在茫茫大海中游荡了几十个小时,鱼的那种挣扎、忽紧忽慢、若即若离的状态给人留下了深刻的印象。本游戏就模拟这种场景,被钓到的鱼围绕鼠标光标忽紧忽慢地游动,但始终不能断线而去。 程序:#Exp13_2.pyimport pygameimport pygame._viewfrom pygame.locals import *from Exp8_6 import Vector2import randombackground_image_filename=‘海底8.jpg’sprite_image_filename=‘鱼3.gif’‘’‘设置三个向量(对象):v1代表鱼的位置向量,v2代表当前鼠标位置向量,v3代表鱼到当前鼠标位置的向量。当需要位置的时候,调用getpos()方法;运算的时候,直接用向量’‘’ pygame.init()background = pygame.image.load(background_image_filename)fish = pygame.image.load(sprite_image_filename)w=int(fish.get_width())h=int(fish.get_height())#按图片的宽、高创建一个窗口w2=int(background.get_width())h2=int(background.get_height())screen = pygame.display.set_mode((w2,h2),0, 32)#设置窗口标题pygame.display.set_caption(被钩住的鱼......)#设置时钟clock=pygame.time.Clock() #鱼的初始位置设为画面中心v1=Vector2(w2/2.0,h2/2.0) #零向量v3=Vector2()flag=1while flag==1: #退出代码,略 #把背景图画上去 screen.blit(background, (0,0)) #把鱼画上去 screen.blit(fish, v1.getpos()) #画线 pygame.draw.line(screen,(255,255,255), pygame.mouse.get_pos(), (v1.x,v1.y+h/2)) time_passed=clock.tick() time_passed_seconds=time_passed/1000.0? #实参前面加 * 意味着把列表或元组展开 v2=Vector2(*pygame.mouse.get_pos() ) #计算鱼儿当前位置到鼠标位置的向量 vector_to_mouse=v2-v1 #获得鼠标的按键情况 pressed_mouse=pygame.mouse.get_pressed() #化为幺向量 vector_to_mouse.normalize() #v3可以看做是鱼的速度,但是由于这样的运算,鱼的速度就不断改变了 #在没有到达鼠标时加速运动,超过以后则减速。因而鱼会在鼠标附近游动。 v3=v3+(vector_to_mouse*.2) v1+=v3*time_passed_seconds #刷新画面 pygame.display.update( ) 第16次上机作业1-完成问题13.1 2-13.1 准备5首音乐,修改程序,当单击鼠标时,播放下一首音乐。在播放第5首音乐时,再次单击能播放第1首音乐。3-完成和理解例13-2。修改程序,使得当用户单击鼠标时,鱼能回到单击点。 第13章游 戏 开 发 主要内容 1. 图形化的问候问题 2. Pygame基础知识 3. Pygame基础知识应用 1.图形化的问候问题 初学者编写的第一个程序往往是显示问候语“Hello World!”,那么初学游戏开发的能不能用漂亮的图形进行问候呢? 【问题13-1】小游戏,让鹰随鼠标移动。 分析需要载入鹰的图片,背景图片,需要建立窗口,要让鹰随鼠标移动需要管理鼠标事件,这些都能用Pygame做到。 框图 #Ques13_1.py #导入pygame库 import pygame #导入一些常用的函
您可能关注的文档
- 2016春《课时夺冠》九年级数学人教版下册课件:第二十八章综合测试题汇编.ppt
- PROTEL_99SE教程剖析.ppt
- proe实用技巧剖析.ppt
- PROTELDXP2004高频PCB设计剖析.ppt
- 2016新课标卷高考古诗文情景式默写汇编.ppt
- PROTEUS_ISIS、KeiluVision2软件教程剖析.ppt
- 2016春中考政治(教科版八年级下册)复习(考点梳理):第五单市场考察(word版)汇编.doc
- protel99se基础教程.ppt
- protel99设计PCB图.ppt
- PROTEUS教程.ppt
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
最近下载
- 目的论视角下奢侈品香水广告的汉译策略研究——以迪奥为例.docx
- 2022年新版大象版六年级科学上册全册PPT课件.pptx
- 【新结构】湖北省七市州2024届高三下学期3月联合统一调研测试数学试题+答案解析.pdf VIP
- 物流和供应链(英文).ppt
- 北师大版数学八年级下册第四章 因式分解 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一致性).docx
- 2023欧洲车身会议资料010_SUV full aluminium case_Hyundai and Alumobility.pdf
- 心衰的新药物治疗.pptx VIP
- 老旧小区外立面改造安全生产和文明施工措施.doc
- 口腔科护理质量查检表.docx VIP
- 《管理学习题》无答案.docx VIP
文档评论(0)