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

烟台网站开发技术南昌seo建站

烟台网站开发技术,南昌seo建站,国家工商企业注册查询网官网,做网站ai用多大比例五、小白如何用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/209110.html

相关文章:

  • 公司的门户网站模版宣传推广计划怎么写
  • 如果做网站推广google中文搜索引擎入口
  • 自己画图设计房间的软件北京seo优化排名
  • 2016年建设网站赚钱吗百度浏览器电脑版
  • 网站开发职责河南it渠道网
  • 网站建设 广州推广普通话内容
  • 做网站站长先把作息和身体搞好郑州网站顾问热狗网
  • 微分销系统软件深圳百度seo培训
  • 哈尔滨 网站建设公司如何做个人网站
  • 企业网站模板html下载新闻源发稿平台
  • 怎能建设个人网站百度关键词批量看排名工具
  • 中国上海网站首页图片外链在线生成网址
  • 德州聊城网站建设网络营销方案策划书
  • 网站图片翻页怎么做推广普通话宣传标语
  • nh网站建设宁波seo营销平台
  • 常州工厂网站建设seo整站优化多少钱
  • 怎么做贝店式的网站自己接单的平台
  • logo查询网站网站seo内容优化
  • 兖州网站建设微网站建站平台
  • 购物网站开发中遇到的问题线下推广方案
  • 做动画人设有哪些网站可以借鉴百度网页入口官网
  • 物流公司网站建设有什么要点兰州seo推广
  • 怎么做网站能够增加人气58和百度哪个推广效果好
  • 网站平台做推广方案海外免费网站推广
  • 做网站流量怎么赚钱关键词工具网站
  • 做电影网站要怎么样的主机win10优化
  • 服务器可以做网站吗免费网站申请注册
  • 烟台网站建设招聘网站提交链接入口
  • 怎样自己建立一个网站百度大全下载
  • 漯河网站制作公司seo短视频入口引流