许多小游戏里面都有涉及到抽奖环节,所以就可能会用到抽奖转盘的制作,今天分享一个自己左转盘的小小过程。
1、准备材料过程不多说,拼完界面之后大概是这样的:

2、给界面绑定脚本,在脚本的properties里面绑定转盘节点,不多说:




3、一般的,抽奖其实都是前面先假装转几圈,之后转向抽奖的结果就可以。我们先设定好各种所需要的变量:

onLoad () {//奖品份数 this.awardNum = 8;//转动时间this.rotateTime = 6.0;
},

4、写转盘转动的方法以及一个小小的效果(转到某区域,暂停之后转到该区域中央),不要忘记触发抽奖和重置的条件(我这里是按钮,重置也可以设置为抽完奖自动重置等):

/*** 点击抽奖     */
onClickLucky() {    console.log("开始抽奖");    let random_jiangli = Math.floor(Math.random() * this.awardNum);console.log("random_jiangli ======>抽奖结果= ", random_jiangli);//多旋转的角度(最后转向抽奖结果所需要转的角度)this.rotationNum = (random_jiangli) * (360 / this.awardNum) + (360 / this.awardNum / 2);//左右的效果角度(效果所需)this.random_1 = Math.floor(Math.random() * 45 - 22.5);let action = this.DialRotateAction();this.ZhuanPan.runAction(action);let self = this;this.scheduleOnce(function () {let action_1 = cc.sequence(cc.rotateBy(0.2, 0),    //停顿一下cc.rotateBy(1.5, self.random_1 / -1),   //转到指向的分区的中央).easing(cc.easeInOut(3.0));self.ZhuanPan.runAction(action_1);}, this.rotateTime);
},/**  * 转盘转动方法 */
DialRotateAction: function () { let self = this;      //假定的假装转的圈数  let circleNum = 5;     let action = cc.rotateBy(self.rotateTime, 360 * circleNum + self.rotationNum + self.random_1).easing(cc.easeInOut(3.0));      return action;
},/**
* 重置转盘方法
*/
onClickRefreshRotate(){console.log("重置转盘");if(this.ZhuanPan.rotation != 0){     this.ZhuanPan.rotation = 0;   }
},

5、效果如下(简易gif图,有些卡):

有了tween之后,换了一种特别简洁的写,如下:

this.action = cc.tween(this.img_luckyspin_spin).then(cc.rotateBy(3.0, 360 * 6 + index * 45).easing(cc.easeInOut(3.0))).call(() => {console.log("将奖盘重置");this.scheduleOnce(() => {this.img_luckyspin_spin.rotation = 0;}, 2.0);}).start();

tween后边的括号里面是节点,call里面是回调,用来重置奖盘位置。

如有问题,欢迎指正,共同学习,谢谢。

CocosCreator之微信小游戏的抽奖转盘相关推荐

  1. cocos2dx 圆盘抽奖_cocoscreator之微信小游戏的抽奖转盘

    许多小游戏里面都有涉及到抽奖环节,所以就可能会用到抽奖转盘的制作,今天分享一个自己左转盘的小小过程. 1.准备材料过程不多说,拼完界面之后大概是这样的: 2.给界面绑定脚本,在脚本的propertie ...

  2. 解决CocosCreator 在微信小游戏中使用Socket.io 报错的问题

    解决CocosCreator 在微信小游戏中使用Socket.io 报错的问题 参考文章: (1)解决CocosCreator 在微信小游戏中使用Socket.io 报错的问题 (2)https:// ...

  3. CocosCreator接入微信小游戏

    使用Creator接入微信小游戏 流程介绍 1:下载cocosCreator http://www.cocos.com/download 2:去微信公众平台注册账号账号 微信开发者平台和微信公众平台是 ...

  4. CocosCreator 打包微信小游戏

    1. 下载微信开发者工具并安装,申请小游戏ID,在ccc的文件-->设置-->原生环境中,指定路径 2.发布平台选择微信小游戏,填入appid,这里要注意,小程序的id 和小游戏的id不同 ...

  5. CocosCreator之微信小游戏的聊天/提示气泡制作

    有时候,我们会遇到一些需要气泡的地方,比如一些提示,即需要背景随着文本长度过长而换行之后进行自适应的情况.我之前是直接设置文本框的行高是可变的,即Overflow属性为RESIZE,然后根据文本长度来 ...

  6. CocosCreator微信小游戏入门实战《小猫钓鱼》(十一):总结以及源码分享

    转载请保留原文链接:https://blog.csdn.net/zzx023/article/details/83068228 基本上到这里作为一个cocoscreator以及微信小游戏的开发者,我相 ...

  7. LayaAir 绘制微信小游戏开放数据域画面

    LayaAir 绘制微信小游戏开放数据域画面 请大家关注我的微博:@NormanLin_BadPixel坏像素 之前写过用cocosCreator绘制微信小游戏子域的教程,保持整体思路不变,现在再写一 ...

  8. 微信小游戏开发零基础教程(一)-CocosCreator

    微信小游戏零基础教程(一)-CocosCreator 最终效果预览 准备工作 创建工程 测试第一个场景 最终效果预览 本教程最后制作的游戏效果: 准备工作 下载 微信开发者工具 最新版->下载地 ...

  9. 微信小程序实现大转盘抽奖----踩坑之路

    微信小程序实现大转盘抽奖----踩坑之路 需求:现在有一个小程序抽奖页面如下,此类抽奖方式为大转盘 思路:由服务端获取抽奖次数和奖品,根据服务端的中奖概率来决定是否中奖,最后利用小程序动画将转盘转起来 ...

最新文章

  1. pytorch 获取模型参数_锂电池P2D模型参数获取:平衡电势
  2. java 队列已满_java – ThreadPoolExecutor当队列已满时阻塞?
  3. FB 宕机,Telegram 用户疯涨,P**hub 流量猛增
  4. Ubuntu14.04安装ROS
  5. linux oracle bin目录在哪,linux 安装软件装完后在哪个目录
  6. CSDN博客积分规则
  7. 视频html5播放器代码实例
  8. Opencv学习笔记 超像素分割
  9. X-Cache和X-Pad
  10. 计算机毕业设计看这篇就够了(二)毕设流程
  11. php 各个版本,PHP各版本之间差异
  12. 关于删除安装ESXI里的VIB小记。
  13. mac怎么用u盘装系统?配备Apple T2 芯片的Mac电脑如何使用U盘装系统?
  14. 【指纹识别】基于模板匹配算法指纹识别匹配门禁系统matlab源码
  15. [高效学习]之1学习金字塔
  16. 从iOS 11看怎样设计APP图标
  17. 信号完整性之浅谈理解(七)
  18. 揭秘VR全景背后的商业价值
  19. 动手学深度学习笔记(一)——权重衰退
  20. 南京农业大学计算机考研资料汇总

热门文章

  1. 编译error: no acceptable C compiler found in $PATH
  2. 5G 学习笔记 - NSA - ENDC架构
  3. QT的Frame背景图片设置自学版
  4. 2019年1月1日起,国家推出新的个人所得税政策,起征点上调值5000元。也就是说税前工资扣除五险一金(五险一金数额假设是税前工资的10%) * 后如果不足5000元,则不交税。
  5. android手机进入fastboot,安卓手机进入Fastboot模式的多种操作方法
  6. Ghost 使用详解
  7. 汝州九峰山下自产自销的好蜂蜜
  8. 动态链接--打桩机制
  9. 视频教程-2020年软考网络规划设计师案例分析历年真题详解软考视频教程-软考
  10. 【扒开】关于赢驴准心劫持浏览器首页的病毒类行径