当前位置: 首页 > news >正文

网站建设进度表 免费下载东莞想做网站找什么公司

网站建设进度表 免费下载,东莞想做网站找什么公司,合肥响应网站案例,非经营备案网站能贴放广告么在《Pygame中Sprite实现逃亡游戏3》中实现了玩家跳跃飞火的效果#xff0c;接下来通过精灵类的碰撞检测来判断飞火是否击中玩家、飞火是否击中飞龙以及飞龙是否抓住玩家。 1 飞火是否击中玩家的判断 判断飞火是否击中玩家的代码如图1所示。 图1 判断飞火是否击中玩家的代码 …在《Pygame中Sprite实现逃亡游戏3》中实现了玩家跳跃飞火的效果接下来通过精灵类的碰撞检测来判断飞火是否击中玩家、飞火是否击中飞龙以及飞龙是否抓住玩家。 1 飞火是否击中玩家的判断 判断飞火是否击中玩家的代码如图1所示。 图1 判断飞火是否击中玩家的代码 第137行代码使用精灵类的collide_rect()方法判断飞火是否击中玩家该方法的参数arrow表示飞火参数player表示玩家当飞火击中玩家时collide_rect()方法返回True第138代码在屏幕的右侧重置飞火第139行代码将玩家的横坐标向左移动玩家被飞火击中后要退后。 相关链接1 reset_arrow()方法以及player.X属性请参考《Pygame中Sprite实现逃亡游戏2》 注意1 判断飞火是否击中玩家、飞火是否击中飞龙以及飞龙是否抓住玩家的代码均在while True循环中。 2 飞火是否击中飞龙的判断 判断飞火是否击中飞龙的代码如图2所示。 图2 判断飞火是否击中飞龙的代码 从图2中可知当飞火是否击中飞龙后需要重置飞火并且将飞龙的横坐标向左移动。 3 飞龙是否抓住玩家 判断飞龙是否抓住玩家的代码如图3所示。 图3 判断飞龙是否抓住玩家的代码 从图3中可以看出当飞龙抓住玩家此时游戏结束game_over标志设置为True。 4 程序运行效果 程序运行效果如图4所示。 图4 程序运行效果 5 完整代码 import pygame import os import time import random from pygame.locals import *class MySprite(pygame.sprite.Sprite):def __init__(self, target):pygame.sprite.Sprite.__init__(self) #extend the base Sprite classself.master_image Noneself.frame 0self.old_frame -1self.frame_width 1self.frame_height 1self.first_frame 0self.last_frame 0self.columns 1self.last_time 0#X propertydef _getx(self):return self.rect.xdef _setx(self,value):self.rect.x valueX property(_getx,_setx)#Y propertydef _gety(self):return self.rect.ydef _sety(self,value):self.rect.y valueY property(_gety,_sety)#position propertydef _getpos(self):return self.rect.topleftdef _setpos(self,pos):self.rect.topleft posposition property(_getpos,_setpos)def load(self, filename, width, height, columns):self.master_image pygame.image.load(filename).convert_alpha()self.frame_width widthself.frame_height heightself.rect Rect(0,0,width,height)self.columns columns#try to auto-calculate total framesrect self.master_image.get_rect()self.last_frame (rect.width // width) * (rect.height // height) - 1def update(self, current_time, rate30):#update animation frame numberif current_time self.last_time rate:self.frame 1if self.frame self.last_frame:self.frame self.first_frameself.last_time current_time#build current frame only if it changedif self.frame ! self.old_frame:frame_x (self.frame % self.columns) * self.frame_widthframe_y (self.frame // self.columns) * self.frame_heightrect Rect(frame_x, frame_y, self.frame_width, self.frame_height)self.image self.master_image.subsurface(rect)self.old_frame self.framedef __str__(self):return str(self.frame) , str(self.first_frame) \, str(self.last_frame) , str(self.frame_width) \, str(self.frame_height) , str(self.columns) \, str(self.rect)def reset_arrow():y random.randint(250,350)arrow.position 800,ypygame.init() screen pygame.display.set_mode((800,600)) pygame.display.set_caption(Escape The Dragon Game) font pygame.font.Font(1.ttf, 18) framerate pygame.time.Clock()group pygame.sprite.Group() player MySprite(screen) player.load(caveman.png, 50, 64, 8) player.first_frame 1 player.last_frame 7 player.position 400, 303 group.add(player)bg pygame.image.load(background.png).convert_alpha()#create the dragon sprite dragon MySprite(screen) dragon.load(dragon.png, 260, 150, 3) dragon.position 100, 230 group.add(dragon)#create the arrow sprite arrow MySprite(screen) arrow.load(flame.png, 40, 16, 1) arrow.position 800,320 group.add(arrow)game_over False arrow_vel 8.0 player_jumping False jump_vel 0.0 player_start_y player.Y while True:framerate.tick(30)ticks pygame.time.get_ticks()for event in pygame.event.get():if event.type QUIT:pygame.quit()os.sys.exit()keys pygame.key.get_pressed()if keys[K_ESCAPE]:pygame.quit()os.sys.exit()elif keys[K_SPACE]:if not player_jumping:player_jumping Truejump_vel -8.0#update the arrowif not game_over:arrow.X - arrow_velif arrow.X 0:reset_arrow()if player_jumping:player.Y jump_veljump_vel 0.5if player.Y player_start_y:player.Y player_start_yplayer_jumping Falsejump_vel 0.0if pygame.sprite.collide_rect(arrow, player):reset_arrow()player.X - 10if pygame.sprite.collide_rect(arrow, dragon):reset_arrow()dragon.X - 10if pygame.sprite.collide_rect(player, dragon):game_over Truescreen.blit(bg, (0,0))group.update(ticks, 50)group.draw(screen)pygame.display.update()
http://www.hkea.cn/news/14523993/

相关文章:

  • 东莞网络公司 网站建设公司logo 标志 图案
  • 网站建设与推广销售户话术淘宝客优惠卷网站模板
  • 做玩具订制网站好处2022年度最火关键词
  • 个人网站主题网络加速器海外
  • 到位app做网站需要些程序唐山做网站的公司
  • 黑龙江微信网站开发网站开发技术培训
  • 上海网站建设规划网址的域名
  • 深圳制作网站专业成功营销网站
  • com是什么网站网络培训平台有哪些
  • 乐清 做网站 多少钱怎样做网络推广
  • 网站做标签页北京商城网站设计报价
  • jq动画效果网站网站备案 查询
  • 重庆模板建站哪家好怎么建立一个网站能够与讯飞云对话
  • 法律行业网站建设军事新闻2023
  • 福州建设部官方网站高端网站有哪些优势
  • 大庆网站建设优化网站发布方式有哪些
  • 创意策划网站成都谁做捕鱼网站
  • 手机网站上线左右滑动兼职网页设计怎么报价
  • wordpress友情链接函数seo网站推广方式
  • h5网站开发中心飞鱼crm系统
  • 百度站长平台注册qq是用什么软件开发的
  • 导航网站制作 zhihuwordpress登入后台
  • 网站备案怎么做超链接新网站一般建设空间大小
  • 绍兴免费做网站网站前台维护
  • 湖南建设监理协会网站什么是ip地址和域名
  • 中高端网站设计wordpress 后台子菜单
  • 163网站视频动做网站域名 评估作价
  • 初中生做网站挣钱自己可以做网站生意好做吗
  • 厦门模板网站可以在哪些网站 APP做推广
  • 完成一个个人主页网站的制作网络推广培训教程