cocos2d-js动作模块使用(自用,只有代码)
// var UIBase = require("src/views/ui/UIBase.js")
// cc.loader.loadJs("src/views/ui/UIBase.js")
var LuckDrawUI = UIBase.extend({
ctor: function () {
this._super();
this.resourceFilename = "res/ui/LuckDrawUI.json";
this._initPosition = 1; //初始位置
this._Chance = [0.1,0.2,0.3,0.4,0.5,0.6,0.8,1];
this._ChanceId = 0;
this._prize_panel = undefined; //奖品容器
this._prize_img = undefined; //当前奖品
this._prize_btn = undefined;
},
initUI: function () {
cutil.unlock_ui();
this.luckdraw_panel = this.rootUINode.getChildByName("luckdraw_panel");
var self = this;
this.preClick();
//
this.luckdraw_panel.getChildByName("back_btn").addTouchEventListener(function (sender, eventType) {
if (eventType == ccui.Widget.TOUCH_ENDED) {
self.hide();
}
});
this._prize_btn=ccui.helper.seekWidgetByName(self.luckdraw_panel, "click_btn")
this._prize_btn.addTouchEventListener(function (sender,eventType){
if (eventType == ccui.Widget.TOUCH_ENDED) {
self.runNoEffect(0,0,0,0);
}
});
},
winChance:function(){
var self = this;
var id = Math.random();
cc.log("id = "+id.toString())
for (var i = 1; i < 8;i++)
{
if (id <= self._Chance[0])
{
self._ChanceId = 1;
}else
{
if (id <= self._Chance[i] && id > self._Chance[i-1])
{
self._ChanceId = i+1;
break;
}
}
}
cc.log("chanceID = "+ self._ChanceId.toString())
},
//转动效果无实际用处
runNoEffect:function(total,first,second,third) {
var self = this;
self._prize_btn.setEnabled(false);
self.winChance();
var callback_start = cc.callFunc(function () {
self._prize_img.setVisible(false);
if (self._initPosition < 8)
{
self._initPosition++;
}else
{
self._initPosition = 1;
}
self._prize_img=ccui.helper.seekWidgetByName(self.luckdraw_panel, "prize_flaring_img_"+self._initPosition.toString());
self._prize_img.setVisible(true);
});
var callback_prize = cc.callFunc(function (target, data) {
self._prize_img.setVisible(false);
cc.log("前"+self._initPosition.toString())
cc.log(data[0].toString)
if (self._initPosition < data[0])
{
self._initPosition++;
}
cc.log("后"+self._initPosition.toString())
self._prize_img=ccui.helper.seekWidgetByName(self.luckdraw_panel, "prize_flaring_img_"+self._initPosition.toString());
self._prize_img.setVisible(true);
},this,[self._ChanceId]);
//抽奖结果
var callback_result = cc.callFunc(function()
{
self._prize_btn.setEnabled(true);
});
var numFirst = 0;
if (8-self._initPosition <= 0)
numFirst = 1;
else
numFirst = 8-self._initPosition;
var runFirst = cc.sequence(cc.delayTime(0.2),callback_start).repeat(numFirst+1);
var runSecond = cc.sequence(cc.delayTime(0.05),callback_start).repeat(32);
var runThird = cc.sequence(cc.delayTime(0.2),callback_start).repeat(8);
var runForth = cc.sequence(cc.delayTime(0.4),callback_prize).repeat(self._ChanceId);
self.luckdraw_panel.runAction(cc.sequence(runFirst,runSecond,runThird,runForth,callback_result));
},
//
preClick: function () {
var self = this;
self._prize_panel=this.luckdraw_panel.getChildByName("prize_panel_"+self._initPosition.toString());
cc.log(self._prize_panel.toString())
self._prize_img = self._prize_panel.getChildByName("prize_flaring_img_"+self._initPosition.toString());
cc.log(self._prize_img.toString())
if(!self._prize_img.isVisible())
{
self._prize_img.setVisible(true);
}
},
});
cocos2d-js动作模块使用(自用,只有代码)的更多相关文章
- cocos2d js ClippingNode 制作标题闪亮特效
1.效果图: 之前在<Android 高仿 IOS7 IPhone 解锁 Slide To Unlock>中制作了文字上闪亮移动的效果,这次我们来看下怎样在cocos2d js 中做出类似 ...
- Angular JS的模块依赖
AngularJS是纯客户端技术,完全用Javascript编写的.它使用的是网页开发的常规技术(HTML,CSS,Javascript),目的是让网页应用开发更快更容易. AngularJS简化应用 ...
- Zepto.js touch模块深入分析
目的:记录 Zepto.js touch模块 源码阅读 源码: // Zepto.js // (c) 2010-2015 Thomas Fuchs // Zepto.js may be freely ...
- node.js之模块
node.js之模块 1.自定义模块的设置 加载自定义模块利用require: eg: require('./custom_module.js') 2.从模块外部访问模块内的成员 2.1使用expor ...
- js模拟点击事件实现代码
js模拟点击事件实现代码 类型:转载 时间:2012-11-06 在实际的应用开发中,我们会常常用到JS的模事件,比如说点击事件,举个简单的例子,点击表单外的"提交"按钮来提交表单 ...
- Node.js的安装以及Node.js的模块管理
索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...
- Node.js DNS 模块
Node.js DNS 模块用于解析域名.引入 DNS 模块语法格式如下: var dns = require("dns") 方法 序号 方法 & 描述 1 dns.loo ...
- Node.js Net 模块
Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require("net") ...
- Node.js OS 模块
Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模块: var os = require("os") 方法 序号 方法 & 描述 1 os ...
- Node.js Path 模块
Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方式引入该模块: var path = require("path") 方法 序号 方法 & ...
随机推荐
- Tomcat翻译--Context Container
原文:http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Resource_Definitions The Context Cont ...
- SecureCrt 连接Redhat linux
1.Vmware虚机设置网络模式为桥接Bridge.保证linux中能ping通windows,windows中也能ping通linux. 2.修改sshd_config文件,命令为:vi /etc/ ...
- 第二次ScrumMeeting
每个人的工作(有Issue的内容和链接):昨天已完成的工作,今天计划完成的工作:工作中遇到的困难. 团队成员 昨日完成任务 明日要完成的任务 易子沐 前端框架学习 issue16 搭建主页框架 iss ...
- STL迭代器辅助函数——advance
Advance(i, n) increments the iterator i by the distance n. If n > it it , the call has no effect. ...
- 导入的Android项目出现红色感叹号
[原因] 项目中存在导入包,在项目导入之后,classpath指向的包路径出现错误,即需要重新Bulidpath [解决方式] 右键项目名称 BuildPath —> Configure B ...
- HDU3577Fast Arrangement(线段树+lazy)
Problem Description Chinese always have the railway tickets problem because of its' huge amount of p ...
- loj 6084.「美团 CodeM 资格赛」跳格子
题目: link 题解: 尽量走\(a\). 只要保证走\(a\)后到达的点一定可以到终点就可以走. 所以从终点开始\(dfs\)出所有能够到达终点的点. 然后再从起点开始\(dfs\)路径即可. 如 ...
- nodejs 安装 cnpm 命令
npm install -g cnpm --registry=https://registry.npm.taobao.org
- ORACLE初始化参数文件概述
ORACLE初始化参数文件概述 在9i之前,参数文件只有一种,它是文本格式的,称为pfile,在9i及以后的版本中,新增了服务器参数文件,称为spfile,它是二进制格式的.这两种参数文件都是用来存储 ...
- bat显示多行文字,逐个显示哦!不同的颜色!
最近想修改bat文件输出提示的时候能有不同的颜色提示,在网上找了下,发现这个文章,实现的不错,先记录下来,留着后面研究. 这是曾经写的,又稍微改进了一下. @echo off set str=青天有月 ...