cocos creator3.0 见缝插针

  • 效果展示
  • 实现思路
  • 关键代码
  • 试玩地址(加载慢,自己服务器带宽低)
  • 下载地址
  • 开源不易,仅学习使用

效果展示

## gif 帧率较低 实际体验效果更好

实现思路

1、中间一个节点 里面有两个node 分别放背景橘子node,存放刀的node
然后只旋转这个中间节点让刀和背景一块旋转就行了
2、碰撞检测给每一把刀放上碰撞检测
3、下边放一把假的刀 用来做动画执行,刀子到达位置 将假的刀放回原来的位置,将复制新的刀到中间存刀的节点
4、判断下一关 将中间节点存刀的node判断子节点数量
5、管卡难度
·匀速
·变速
·变速+变向
·时间限制

关键代码

   fire(event: any, data: any) {// 游戏结束 或者当前没有刀不能点击if (!this.gameStatus || this.knifeCount <= 0) {return}// 当前刀的数量减少this.knifeCount--;if (this.knife) {let p = this.knife.getPosition()p.x = 0;p.y = 0;if (this.knifeSize) {p.y += this.knifeSize.height / 2;}let that = this/*** 执行线性动画* 动画结束复制当前动画的刀到当前位置*/this.currentKnifeAnim = tween(this.knife).to(0.1, { position: p }, {easing: 'linear',onComplete: function (target?: object) {let node = instantiate(that.knife)if (node) {// 设置刀的位置 到初始位置that.knife?.setPosition(that.knifeX, that.knifeY, 0)// 执行橘子动画 向上弹that.orangeNode?.getComponent(AnimationComponent)?.play()let px = 0, py = 0, ox = 0, oy = 0;if (that.knifeSize) {// 设置刀插进去的位置py = that.knifeSize.height / 2 - that.orangeY;}/***  2D上的点围绕某另一个点旋转: If you rotate point (px, py) around point (ox, oy) by angle theta you’ll get:*  p'x = cos(theta) * (px-ox) - sin(theta) * (py-oy) + ox*  p'y = sin(theta) * (px-ox) + cos(theta) * (py-oy) + oy*/// 计算角度 要一直为下方 注意补角let temp = 360 - that.angle;let theta = Math.PI / 180 * templet x = Math.cos(theta) * (px - ox) - Math.sin(theta) * (py - oy) + oxlet y = Math.sin(theta) * (px - ox) + Math.cos(theta) * (py - oy) + oy// 设置新刀位置node.setPosition(x, y, 0)// 设置新刀角度node.setWorldRotationFromEuler(0, 0, temp)// 附加到虚拟转盘上node.parent = that.discNode}}}).start()}}

试玩地址(加载慢,自己服务器带宽低)

 https://www.intkilow.top/jfcz/

下载地址

关注微信公众号:
随疾风前行
回复:
cocos见缝插针游戏源码

开源不易,仅学习使用

cocos creator 3.0见缝插针(口红机)相关推荐

  1. Cocos Creator下JavaScript实现口红机,附代码

    ​原理 转盘.发射的口红.转盘上的口红添加三个不同的碰撞体: 发射的口红和转盘,转盘上的口红和发射的口红碰撞体能发生碰撞: 发射的口红与转盘碰撞时,在指定(根据转盘旋转的角度)位置添加口红: 发射的口 ...

  2. Cocos Creator 3.0 教程! 标志板! Billboard !

    用2D素材节省包体!节约性能! 前言 标志板是什么呢? billboard 英文翻译为广告牌,标志板和广告牌肯定会有不可告人的联系! 广告牌的使命是什么?就是无论你在哪里,都要让你看到! 标志板也是这 ...

  3. 折纸效果! Cocos Creator 3.0

    效果 折纸效果 实现 整体思路 思路遵循以下几步 初始化一个多边形. 折叠后分割成两个多边形. 如果需要继续分割,对场上的所有多边形进行折叠,折叠出新的多边形的层级正好与原来的相反. 整体思路 所以, ...

  4. Cocos Creator 3.0 入门 ! 2D 素材 3D 效果!

    用 2D 素材实现 3D 效果! 前言 好久没写教程笔记了,不知大伙是否想念教程干货了? 温馨提示:所有内容纯属个人瞎玩研究,如要上线项目,请自行评估~ oh 最近逛论坛,看到有一位小伙伴想实现下面这 ...

  5. 一文搞懂 Cocos Creator 3.0 坐标转换原理

    一文搞懂 Cocos Creator 3.0 坐标转换原理 屏幕坐标 UI 触点坐标 UI 多分辨率适配方案 UI 触点获取 不同坐标之间的转换 屏幕坐标与 3D 节点世界坐标互转 3D 节点之间的坐 ...

  6. 使用 cocos creator 3.0 制作抽奖小游戏

    使用 cocos creator 3.0 制作抽奖小游戏 描述 一个抽奖小游戏demo, 点击 抽奖按钮 进行抽奖, 抽完奖后该结果置灰.下一次抽奖就会跳过已经抽过的奖项. 注意: 每次点击 抽奖按钮 ...

  7. Cocos Creator 2.0 正式版发布

    我拟了不下10个标题,用来描述这个里程碑事件,但最后发现,还是这样简单的<Cocos Creator 2.0 正式版发布>最直接. 回头一看,时间过得真是太快了. 两年前,我和团队都顶着各 ...

  8. Cocos Creator 2.0.1 正式发布

    2.0.0 是一个经历了大量底层重构的全新版本,部分开发者在升级项目过程中遇到了一些恼人的问题,这些问题我们一一收集并尽全力解决,现在为大家带来 2.0.1 版本.这个版本除了大幅度提升稳定性和项目升 ...

  9. cocos creator jsb2.0手动绑定过程

    在打包原生包的时候js层想调用c++层,但是没有对应的实现需要自己扩展自己的jsb,官方有两种绑定方式:手动绑定和自动绑定,这里着重介绍手动绑定: 首先找到cocos creator自带的c++层的源 ...

最新文章

  1. 判断身份证号是否合法
  2. C语言内存管理超详解
  3. 【数据结构与算法】之深入解析“两数相除”的求解思路与算法示例
  4. python打印网页成pdf_vue中将网页打印成pdf
  5. 500多页的机器学习入门笔记,下载超5万次,都讲了些什么?
  6. java配置文件强制更新_对Java配置文件Properties的读取、写入与更新操作
  7. Matlab中3条曲线归一,matlab中关于数据归一化函数mapminmax的使用
  8. crazybox路由器解决授权码问题
  9. win10声音控制面板扬声器默认设备显示未插入扬声器
  10. 6.敏捷软件开发框架 - 看板Kanban方法
  11. 利用 eutils 实现自动下载序列文件(python实现)
  12. vue+element树形控件实现根据条件(例id)禁用选项
  13. 计算一班总分 使用的计算机公式是,班级总分统计excle!excle如图所示,怎样按照班级字段,将每班的数学语文英语分数分别求和汇总?...
  14. 如何读群晖硬盘_如何优雅无损的更换群晖硬盘
  15. 三个月能学到多少网络安全知识?
  16. 商户号与商户appid不匹配
  17. FFmpeg 源码之分配与释放 AVPacket 常用函数
  18. 春招大盘点:找工作除了招聘网站还有哪些渠道?
  19. 用Python制作高逼格数学动画manim
  20. Win10蓝屏原因查找以及解决

热门文章

  1. Qt使用OpenGL绘制图形
  2. 关于airplay协议实现镜像功能研究
  3. UOS系统的Qt无法使用中文输入法
  4. Abaqus接触分析--SurfaceBaseContact 法向切向接触行为
  5. 企业数字化转型思考系列文章(一)何为数字化转型?
  6. 开水,送服JavaScript
  7. 浅谈狄利克雷分布——Dirichlet Distribution
  8. UniApp 小程序实现PDF电子签名 拖拽
  9. HDU-ACM程序设计——BFS(宽度优先搜索)
  10. (推荐)Swift入门级免费视频 - 只需学习8小时