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

资源网站源码wordpress头像加V

资源网站源码,wordpress头像加V,wordpress汉化版,域名注册管理中心网站五、小白如何用Pygame制作一款跑酷类游戏(主角跳跃和滑行动作的实现) 文章目录 五、小白如何用Pygame制作一款跑酷类游戏(主角跳跃和滑行动作的实现)前言一、添加主角的跳跃和滑行图片素材二、代码部分1.在走路状态时按下按键发生…

五、小白如何用Pygame制作一款跑酷类游戏(主角跳跃和滑行动作的实现)


文章目录

  • 五、小白如何用Pygame制作一款跑酷类游戏(主角跳跃和滑行动作的实现)
  • 前言
  • 一、添加主角的跳跃和滑行图片素材
  • 二、代码部分
    • 1.在走路状态时按下按键发生状态变化
    • 2.主角跳跃部分
    • 3.主角滑行部分
    • 4.为了使得在跑步阶段也能够切换为滑行和跳跃
    • 5.总结上述的完整代码
  • 三、实现效果


前言

本篇主要实现通过向下键和向上键的释放让主角能够跳跃和滑行


一、添加主角的跳跃和滑行图片素材

在这里插入图片描述
图片放在了 主角跳跃和滑行素材

二、代码部分

1.在走路状态时按下按键发生状态变化

 #步行状态if self.state==0:if args[0] % 6 == 0:i = int(args[0] / 6)self.image=self.walk[i % len(self.walk)]self.rect.top = 400# 实现按下向上键实现跳跃状态#实现按下向下键实现滑行状态if keys[pygame.K_UP]:self.state = 2self.flag = args[0]elif keys[pygame.K_DOWN]:self.state=3self.flag = args[0]

2.主角跳跃部分

设置为状态2

在跳跃部分为了更加生动并且可以越过障碍物进行了四个阶段的操作
第一个阶段上升的像素大
第二个阶段上升的像素小
第三个阶段下降的像素小
第四个阶段下降的像素大

 elif self.state==2:#在跳跃部分为了更加生动并且可以越过障碍物进行了四个阶段的操作#第一个阶段上升的像素大#第二个阶段上升的像素小#第三个阶段下降的像素小#第四个阶段下降的像素大if args[0] - self.flag <=9:if args[0] % 9 == 0:i = int(args[0] / 9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top -= 120elif args[0] - self.flag >9 and args[0] - self.flag <=36:if args[0] % 9 == 0:i = int(args[0] / 9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top -= 40elif args[0] - self.flag >36 and args[0] - self.flag <=63:if args[0] % 9 == 0:i = int(args[0] /9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top += 40elif args[0] - self.flag >63 and args[0] - self.flag <=72:if args[0] % 9 == 0:i = int(args[0] /9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top += 120if args[0] - self.flag >72:self.state = 0

3.主角滑行部分

设置为状态3

            elif self.state==3:if args[0] % 10 == 0:i = int(args[0] /10)self.image = self.down[i % len(self.down)]self.rect.top = 480# self.rect.left += 35if args[0] - self.flag >= 75:self.state = 0

4.为了使得在跑步阶段也能够切换为滑行和跳跃

            elif self.state==1:#设置一定的动作时长 超出之后变为步行态if args[0]-self.flag>=12:self.state=0if args[0] % 6 == 0:i = int(args[0] / 8)self.image=self.run[i % len(self.run)]self.rect.top = 430#奔跑状态时的状态切换if keys[pygame.K_UP]:self.state = 2self.flag = args[0]elif keys[pygame.K_DOWN]:self.state=3self.flag = args[0]elif keys[pygame.K_RIGHT]:self.state = 1self.flag = args[0]

5.总结上述的完整代码

import pygameclass Myself(pygame.sprite.Sprite):def __init__(self):super(Myself, self).__init__()self.image = pygame.image.load('material/image/myself/walk/1.PNG').convert_alpha()self.walk = [pygame.image.load('material/image/myself/walk/{:d}.PNG'.format(i)).convert_alpha() for i inrange(1, 8)]self.run = [pygame.image.load('material/image/myself/run/{:d}.PNG'.format(i)).convert_alpha() for i inrange(1, 6)]self.jump = [pygame.image.load('material/image/myself/jump/{:d}.PNG'.format(i)).convert_alpha() for i inrange(1, 7)]self.down = [pygame.image.load('material/image/myself/down/{:d}.PNG'.format(i)).convert_alpha() for i inrange(1, 7)]self.rect = self.walk[0].get_rect()self.rect.top=400self.rect.left=200self.state = 0  # 初始状态是步行态self.flag = 0 #设置标志位 记录按键按下的时钟def update(self, *args):#将是否暂停传递if args[2]:self.image=pygame.image.load('material/image/myself/walk/1.PNG').convert_alpha()else:#人物状态传递keys = args[1]#这里选择按下右箭头 是奔跑状态if keys[pygame.K_RIGHT]:self.state=1self.flag=args[0]#步行状态if self.state==0:if args[0] % 6 == 0:i = int(args[0] / 6)self.image=self.walk[i % len(self.walk)]self.rect.top = 400# 实现按下向上键实现跳跃状态#实现按下向下键实现滑行状态if keys[pygame.K_UP]:self.state = 2self.flag = args[0]elif keys[pygame.K_DOWN]:self.state=3self.flag = args[0]#奔跑状态elif self.state==1:#设置一定的动作时长 超出之后变为步行态if args[0]-self.flag>=12:self.state=0if args[0] % 6 == 0:i = int(args[0] / 8)self.image=self.run[i % len(self.run)]self.rect.top = 430#奔跑状态时的状态切换if keys[pygame.K_UP]:self.state = 2self.flag = args[0]elif keys[pygame.K_DOWN]:self.state=3self.flag = args[0]elif keys[pygame.K_RIGHT]:self.state = 1self.flag = args[0]elif self.state==2:#在跳跃部分为了更加生动并且可以越过障碍物进行了四个阶段的操作#第一个阶段上升的像素大#第二个阶段上升的像素小#第三个阶段下降的像素小#第四个阶段下降的像素大if args[0] - self.flag <=9:if args[0] % 9 == 0:i = int(args[0] / 9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top -= 120elif args[0] - self.flag >9 and args[0] - self.flag <=36:if args[0] % 9 == 0:i = int(args[0] / 9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top -= 40elif args[0] - self.flag >36 and args[0] - self.flag <=63:if args[0] % 9 == 0:i = int(args[0] /9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top += 40elif args[0] - self.flag >63 and args[0] - self.flag <=72:if args[0] % 9 == 0:i = int(args[0] /9)self.image = self.jump[i % len(self.jump)]# self.rect.left += 20self.rect.top += 120if args[0] - self.flag >72:self.state = 0elif self.state==3:if args[0] % 10 == 0:i = int(args[0] /10)self.image = self.down[i % len(self.down)]self.rect.top = 480# self.rect.left += 35if args[0] - self.flag >= 75:self.state = 0

三、实现效果

按向上键实现跳跃
在这里插入图片描述

在这里插入图片描述
按向下键实现滑行
在这里插入图片描述

http://www.dtcms.com/wzjs/803831.html

相关文章:

  • 怎么搭建视频网站安居客看房网
  • 哈尔滨优化网站排名做网站开发的想接私活
  • 通江县城乡建设局门户网站河南企业做网站
  • 包头天亿网站建设公司如何建立一个网站平台
  • 国内商城网站建设大学生兼职网站策划书
  • php户外运动产品企业网站源码做网站分什么软件
  • 电子商务网站建设 试卷河南网站域名备案
  • 网站建设优化服务咨询浙江网络安全学院
  • 好玩的游戏平台网站如何优化
  • 网站二级目录怎么做wordpress rewrite插件
  • 电商网站经营性备案wordpress 编辑器全屏
  • 旅行社网站 模板推广公司网站有哪些方式
  • 如何建设百度网站中国企业排名前十
  • 艺梵科技 网站建设中小企业网站建设报告
  • 曲靖手机网站建设费用陕西交通建设有限公司网站
  • 定制网站建设案例课堂网络推广与seo的区别在哪里
  • 用html5做手机网站广州网站建设公司怎么选
  • 关于seo的行业岗位有哪些商品标题seo是什么意思
  • 常州微元宝网站建设公司邮箱后缀正确的是以下
  • 480元做网站网站制作评价
  • 电子商务网站建设考题与答案wordpress数据库表
  • 企业网站的推广方法网站做程序员
  • 网站优化排名北京工商登记服务平台
  • 网站内的地图导航怎么做南京做网站外包
  • yellow片高清影视在线观看wordpress seo插件教程
  • 宝安附近公司做网站建设哪家效益快微信做明天展现网站要多少钱
  • 营销型网站建设细节五个网络营销方式
  • 微网站平台建设方案中国建设银行个人客户
  • 深做网站公司折800网站源码
  • 自己做网站 最好的软件下载中国网站建设调查分析