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

淄博建站哪家好html网页设计代码作业大一

淄博建站哪家好,html网页设计代码作业大一,定制小程序开发哪家公司好,大连网络推广公司推荐转载知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具 项目地址:赛车小游戏-基于Cocos Creator 3.5版本实现: 课程的源码,基于Cocos Creator 3.5版本实现 在上一节的课程中,您已经实现了通过触控给刚体施…

 转载知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具

项目地址:赛车小游戏-基于Cocos Creator 3.5版本实现: 课程的源码,基于Cocos Creator 3.5版本实现

在上一节的课程中,您已经实现了通过触控给刚体施加里的方式来对汽车节点进行简单的控制。在这一章节中,我们将会实现实现一套完美的控制小车运动的逻辑。不过在这之前,您需要理解一些基本概念。

一、基本概念

1. 节点的旋转角度:

节点的旋转角度是angle参数,如果这个参数大于0则向左旋转,小于0则向右旋转。你可以在start方法中指定下节点的angle数值来看下旋转的效果:

您可能已经猜到了,我们可以通过设置angle的数值来实现转弯的效果。但是angle是不带有圆周率值的,所以在参与sin或者cos计算时,需要用misc.degreesToRadians

方法来将angle值转化为相对于圆周率的值。

二、实现

现在您已经明白了上面的基本概念,现在我们要实现对汽车节点的精确控制。大概效果是用户点击屏幕任意位置,小车都将会调转方向至触控点所在的方位并运动过去。现在请看下面的步骤来一步一步实现:

1. 给刚体添加阻力:

在上一节结束后,您会发现小车在施加的情况下会越来越快,在不受力的情况下保持静止或者匀速直线运动而难以控制,根据基本物理知识您一定可以猜到是因为刚体没有收到类似摩擦力的阻力。所以我们要让刚体时刻都有与触控方向施加的力大小相同但方向相反的阻力。那么如何为刚体添加阻力?您只需要在Car节点的属性检查器中找到刚体组件,将Linear Damping(线性方向的阻力)属性的值设定为您想要的阻力值即可,效果如下:

当然记得将node节点的UITransform的宽度和高度设置为和CarSprite的宽度和高度一致,因为后面还会挂载碰撞体,node的大小影响碰撞体的大小,碰撞体的大小会影响其他物理属性,所以就先让刚体所在的node节点的大小与CarSprite的大小统一,设置完成后效果如下:

2. 实现左转/右转的判断:

对于转向,在收到用户点击时,我们可以先获得触控点的世界坐标,再获取到汽车节点(汽车的根节点Car及其所有子节点都在随着Car上面的刚体组件运动)的世界坐标。假设现在汽车还未发生过旋转,也就是说汽车节点的angle值为0,车头此时指向正前方,此时如果以汽车节点所在的点为原点做个坐标系,则效果如下:

您可以非常直观的看到,只要我们求出来触控点此时相对于以汽车节点位置的坐标,然后对这个相对坐标来判断他的x大于0即为向右,x小于0即为向左。

但是这是在车头面向正前方的情况,当车头有一定旋转角度时,就相当于坐标轴旋转了一定角度,所以在汽车节点angle不为0的时候,相对坐标还要加一层坐标轴旋转后的计算。通过百度找到了一篇写求坐标点绕原点旋转后新坐标的值的博客(求在平面直角坐标系中,一个点绕坐标原点旋转一定角度后点的坐标_一点绕另一点旋转一定角度的坐标_IT集装箱的博客-CSDN博客),但是我们现在的情况是坐标点不变而坐标系旋转,但是也不难,点旋转了x角度就相当于坐标系旋转了-x度,反之亦然,所以只需要把上面博客公式中的x换为-x就可以了,sin(-x)=-sin(x),cos(-x)=cos(x)。所以综上,touchInput中判断向左还是向右的代码逻辑为:

3. 实现向前/向后的判断:

有了上一个对左转右转的判断,我相信您已经知道该怎么判断向前还是向后了。判断向左还是向右是判断相对位置的x值,同理,判断向前还是向后只需要判断相对位置的y值就可以了。具体代码如下:

4. 将touchInput的方向控制系统引入到CarControl中:

没啥说的,请您直接看代码:

5. 测试一下控制系统:

VS Code和Cocos Creator中保存好,然后运行一下,在浏览器界面中点击屏幕来模拟触控,查看输出是否正确:

屏幕上面是我点击右前方的输出。注意,如果您的电脑是Mac,请不要轻点触控板而是将触控板按下去。

以上就是本章节的全部内容,到现在为止您已经学会了实现汽车节点的方向控制逻辑。下一个章节我们将会实现汽车的运动逻辑。

http://www.yayakq.cn/news/285750/

相关文章:

  • vue企业门户网站模板特产网站建设策划书
  • wordpress封堵默认注册入口企业网站优化包括哪三个层面
  • 淘宝网站建设的主要工作学室内设计培训哪里好
  • 网站建设小工具关键词举例
  • 网站网站做员工犯法吗易书网上书城网站建设方案
  • 网站含义三合一网站模板
  • 建单页网站九牧全球市场地位
  • o2o网站平台怎么做谷歌搜索广告优化
  • 什么样的网站适合搜索引擎收录做中介最好用的网站
  • 购物网站seo搜索引擎前期分析旅游网站的目的
  • 苏州做网站的企业济南 网站建设 域名注册
  • 重新安wordpress网站h5免费制作平台火蚁
  • 免费私人网站建设平台网站的统计代码
  • 手机网站怎么设计医疗网站建设意见
  • 上海网站建设公司服务怎么做wordpress 缓存机制
  • 同里做网站如何做网站拉动条
  • 网站加入视频iis 7.0 搭建网站
  • 泉州建站模板系统非常旺财的公司名字
  • 服装网站模板免费下载社科联网站建设方案策划书
  • 网站用户体验比较网站模版建设工具
  • 有什么设计logo网站宁波企业seo推广
  • 前端做数据表格的网站乐清在线网
  • 咸宁网站建设哪家好二次开发培训
  • wordpress安装2个网站吗汉中做网站电话
  • 建站建设流程网络营销心得体会800字
  • 石狮网站建设联系电话wordpress浮动社交
  • 青海西宁网站建设公司大气蓝色wap网站模板
  • 手机触屏网站模板网站开发常用问题
  • 高新技术企业网站怎么做wordpress速度
  • 网站 手机兼容广东网站建设类公司