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; Initial position
This._chance = [0.1,0.2,0.3,0.4,0.5,0.6,0.8,1];
This._chanceid = 0;
This._prize_panel = undefined; Prize container
this._prize_img = undefined; Current Prizes
this._prize_btn = undefined;
},
Initui:function () {
CUTIL.UNLOCK_UI ();
This.luckdraw_panel = This.rootUINode.getChildByName ("Luckdraw_panel");
var = 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 = 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 ())
},
No practical use for rotational effects
Runnoeffect:function (Total,first,second,third) {
var = 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 ("front" +self._initposition.tostring ())
Cc.log (data[0].tostring)
if (Self._initposition < data[0])
{
self._initposition++;
}
Cc.log ("after" +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]);
Lottery results
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 = 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 Action Module (for personal use, only code)