Python程序设计游戏开发(次课)解析.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13.3 游戏开发 【例13-2】 被钓的鱼。 游戏背景:读过海明威的《老人与海》吗?那条被老人钓到的大鱼拖着小船在茫茫大海中游荡了几十个小时,鱼的那种挣扎、忽紧忽慢、若即若离的状态给人留下了深刻的印象。本游戏就模拟这种场景,被钓到的鱼围绕鼠标光标忽紧忽慢地游动,但始终不能断线而去。 程序: #Exp13_2.py import pygame import pygame._view from pygame.locals import * from Exp8_6 import Vector2 import random background_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=1 while 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 #导入一些常用的函

文档评论(0)

三哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档