前言
微信的一些小游戏是很受商家欢迎的,商家A:看看这个微信小游戏多少人玩,我们搞一个的话绝对可以吸引一批人….于是乎也会有客户需要搞些小游戏,最强眼力就是其中一个,那么现在我们来试试用lufylegend来写一个山寨版。
难点
几个杯子起点及终点还有银币的位置都是很简单就可以确定的,可以用随机数。难就难在如何做摇动杯子交换位置的效果,还有就是每个分数需要提升的速度。
在线演示效果
实际效果
核心源代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta content="telephone=no,email=no" name="format-detection">
<meta name="full-screen" content="true"/>
<meta name="screen-orientation" content="portrait"/>
<meta name="x5-fullscreen" content="true"/>
<meta name="360-fullscreen" content="true"/>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="../js/jquery-migrate-1.2.1.min.js"></script>
<script src="../js/box2dWeb/Box2dWeb-2.1.a.3.min.js"></script>
<script src="../js/lufylegend/lufylegend-1.10.0.min.js"></script>
<style>
body{
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div id="game" style=""></div>
<script type="text/javascript">
var GameSettings={
limitTime:25 //游戏设定,这是当前游戏的限制时间,以秒为单位。
,rows:10
,opening_animation_time:1 //默认的开场动画的时间,秒为单位,默认1s。
,cup_open_or_close_time:0.2 //默认的打开一个杯子的动画的演示时间,秒为单位,默认1s。
,cup_stay_time_after_open:0.5 //默认打开一个杯子以后停留时间,该时间是让猜测者可以看清楚硬币是不是在这个杯子。
,max_life:3 //最多限制有几条命,当然,-1 表示无限制。
,cup_amount:3 //有多少个杯子,请勿放太多杯子,否则会让玩家变傻的。
};
var GameOptions={
width:480
,height:800
};
var GameData={
score:0
,beginTime:0
,stage:1 //当前关卡。
,endTime:0
,currentRowIndex:0 //游戏当前的行数是。。。以0开始。
,userWantsStart:false
,playing:false
,busy:false //当前是否忙
,showAnimation:false //是否正在执行动画。
,timeOver:false //是否游戏结束
,usedLife:0//已经用了多少条命了。
,gameOver:false//是否游戏结束
,allowOpenCup:false//是否允许打开杯子。
};
var innerTools={
timeFormat:function(seconds){
var _seconds=parseInt(seconds);
var _s=_seconds%60;
var _m=parseInt((_seconds-_s)/60)%60;
var _str="";
if(_m<=9){
_str="0"+""+_m;
}
else{
_str=""+_m;
}
if(_s<=9){
_str=_str+":0"+_s;
}
else{
_str=_str+":"+_s;
}
return _str;
}
};
</script>
<script>
//--这是需要加载的各种资源。
var _resources=[];
//--加载完成后得到的数据。,
var resourceList={};
function _addResource(name,path){
_resources.push({
name:name
,path:path
});
}
var LayerLoading={};
//--初始化其他设置,设置屏幕等等。
function resetSystem(){
//--刚体系统设置
LGlobal.box2d = new LBox2d();
//--屏幕设置
//LGlobal.align = LStageAlign.BOTTOM_MIDDLE;
LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
//LGlobal.stageScale = LStageScaleMode.EXACT_FIT;
LSystem.screen(LStage.FULL_SCREEN);
// LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
// LSystem.screen(LStage.FULL_SCREEN);
}
//--加载资源。
function loadResources(callback){
_addResource("coin","images/coin.png");
_addResource("cup_shadow","images/cup-shadow.png");
_addResource("cup","images/cup.png");
_addResource("game_title","images/game-title.png");
_addResource("game_title2","images/game-title2.png");
_addResource("game_whole_cup","images/game-whole-cup.png");
_addResource("heart","images/heart.png");
_addResource("start_words","images/start_words.png");
LayerLoading = new LoadingSample3();
addChild(LayerLoading);
//--这里开始要加载资源了。
LLoadManage.load(
_resources,
function(progress){LayerLoading.setProgress(progress);}
,
function(_resource_loaded_object){
resourceList=_resource_loaded_object;
removeChild(LayerLoading);
if(callback){
callback();
}
}
);
}
init(10,"game",GameOptions.width,GameOptions.height,function(){
resetSystem();
loadResources(function(){
console.log("初始化完成。");
gameInit();
});
});
</script>
<script>
//--游戏的初始化。
function gameInit(){
ObjMenu=setMenuLayer({
onClick:function(){
removeChild(LayerMenu);
//ObjMain.play();
console.log("玩游戏");
ObjMain.show(function(){
ObjMain.start_game();
});
}
});
ObjMain=setMainLayer();
addChild(LayerMain);
addChild(LayerMenu);
}
</script>
<script>
var LayerMenu=new LSprite();
var LayerMain=new LSprite();
var ObjMain={};
var ObjMenu={};
function setMenuLayer( __opts){
var settings={
onClick:function(){
}
};
$.extend(settings,__opts);
var menuLayer = new LSprite();
//--分别有标题和开始按钮。
var bitmap_title=new LBitmap(new LBitmapData(resourceList["game_title2"]));
var sp_title=bitmap_title;
var bitmap_start=new LBitmap(new LBitmapData(resourceList["start_words"]));
var button_start=new LButton(bitmap_start);
sp_title.alpha=0;
button_start.alpha=0;
sp_title.x=parseInt(GameOptions.width/2-bitmap_title.width/2);
sp_title.y=parseInt(GameOptions.height/2-bitmap_title.height/2);
button_start.x=parseInt(GameOptions.width/2-bitmap_start.width/2);
button_start.y=parseInt(GameOptions.height/2-bitmap_start.height/2);
menuLayer.addChild(sp_title);
menuLayer.addChild(button_start);
function _click_handler(event){
if(settings.onClick){
settings.onClick();
}
}
//--开幕动画。
var tween = LTweenLite.to(sp_title,GameSettings.opening_animation_time,{alpha:1,onComplete:function(){
LTweenLite.to(sp_title,GameSettings.opening_animation_time,{alpha:0,onComplete:function(){
LTweenLite.to(button_start,GameSettings.opening_animation_time,{alpha:1,onComplete:function(){
menuLayer.addEventListener(LMouseEvent.MOUSE_UP,_click_handler);
}});
}});
}});
LayerMenu=menuLayer;
}
function setMainLayer(__opts){
var settings={};
$.extend(settings,__opts);
var _root_=new LSprite();
var container_top_bar=new LSprite();
var text_score=new LTextField();
var text_life_tips=new LTextField();
var container_lives=new LSprite();
var game_top_bar={
init:function(){
var child=this;
text_score.color="#000000";
text_score.size=18;
text_score.text="关卡:1";
text_life_tips.color="#000000";
text_life_tips.size=18;
text_life_tips.text="剩余次数:";
var _theLocInfo=child._setMaxLife();
container_lives.x=GameOptions.width-_theLocInfo.width;
container_lives.y=0;
text_life_tips.x=container_lives.x-100;
container_top_bar.addChild(text_score);
container_top_bar.addChild(text_life_tips);
container_top_bar.addChild(container_lives);
_root_.addChild(container_top_bar);
}
,resetScore:function(){
text_score.text="关卡:"+GameData.stage;
}
,_setMaxLife:function(){
//--根据生命条数来计算相关次数。
if(GameSettings.max_life==0||GameSettings.max_life<0){
var _life_text=new LTextField();
_life_text.color="#000000";
_life_text.size=18;
_life_text.text="无限";
container_lives.addChild(_life_text);
return {
width:40
,height:36
};
}
var _width=0;
var _height=0;
for(var i=0;i< GameSettings.max_life;i++){
var bitmap_life=new LBitmap(new LBitmapData(resourceList["heart"]));
_width=_width+bitmap_life.width;
_height=bitmap_life.height;
bitmap_life.x=_width-bitmap_life.width;
bitmap_life.y=0;
bitmap_life.name="life_"+i;
container_lives.addChild(bitmap_life);
}
return {
width:_width
,height:_height
};
}
//--显示几条命。
,setCurrentLife:function(theLifeNum){
if(GameSettings.max_life<=0){
return;
}
for(var i=0;i< GameSettings.max_life;i++){
var _now_bitmap=container_lives.getChildByName('life_'+i);
if(_now_bitmap==null){
continue;
}
if(i<theLifeNum){
_now_bitmap.visible=true;
}
else{
_now_bitmap.visible=false;
}
}
}
};
game_top_bar.init();
window.game_top_bar=game_top_bar;
//--这是杯子对象,包括两个部分,杯子及杯子的倒影。
function SpriteCup(_opts){
var sprite_settings={
onCupClick:function(event,theObj){
}
};
$.extend(sprite_settings,_opts);
var _cup_root=new LSprite();
var _bitmap_cup=new LBitmap(new LBitmapData(resourceList["cup"]));
var _bitmap_cup_shadow=new LBitmap(new LBitmapData(resourceList["cup_shadow"]));
var _bitmap_coin=new LBitmap(new LBitmapData(resourceList["coin"]));
_bitmap_cup.name="cup";
_bitmap_coin.name="coin";
_bitmap_cup_shadow.name="shadow";
var _cup_width=_bitmap_cup.width;
var _cup_height=_bitmap_cup.height;
var _cup_between_distance=56;
var _open_close_distance=50;
var innerData={
cup_x:0
,cup_y:0
,cup_shadow_x:0
,cup_shadow_y:0
//--打开及关闭时候的距离和各自的位置。
,cup_x2:0
,cup_y2:0
,cup_shadow_x2:0
,cup_shadow_y2:0
//--阴影的缩放比率。
,shadow_scale_origin:1
,shadow_scale_min:1
//--
,middle_x:0
,middle_y:0
};
//--中间的交接距离是;
innerData.middle_x=parseInt(_cup_width/2);
innerData.middle_y=_cup_height-parseInt(_cup_between_distance/2);
innerData.cup_shadow_y=_cup_height-parseInt(_cup_between_distance/2);
innerData.cup_y2=innerData.cup_y-_open_close_distance;
innerData.cup_shadow_y2=innerData.cup_shadow_y+_open_close_distance;
_bitmap_cup.x=innerData.cup_x;
_bitmap_cup.y=innerData.cup_y;
_bitmap_cup_shadow.x=innerData.cup_shadow_x;
_bitmap_cup_shadow.y=innerData.cup_shadow_y;
_bitmap_coin.x=innerData.middle_x-parseInt(_bitmap_coin.width/2);
_bitmap_coin.y=innerData.middle_y-parseInt(_bitmap_coin.height/2);
_cup_root.addChild(_bitmap_cup_shadow);
_cup_root.addChild(_bitmap_coin);
_cup_root.addChild(_bitmap_cup);
_cup_root.name=""+new Date();
_cup_root.addEventListener(LMouseEvent.MOUSE_UP,function(event){
var _the_root_name=_cup_root.name;
sprite_settings.onCupClick(event,_the_root_name);
});
var robj={
getRoot:function(){
return _cup_root;
}
,getSizeInfo:function(){
return {
width:_cup_width
,height:_cup_height*2-parseInt(_cup_between_distance/2)
,between_distance:_cup_between_distance
,middle_y:0 //中间点位置
,middle_x:0
};
}
//--打开的动画动作演示。
,open:function(callback){
LTweenLite.to(_bitmap_cup,GameSettings.cup_open_or_close_time,{y:innerData.cup_y2,onComplete:function(){
if(callback){
callback();
}
}});
LTweenLite.to(_bitmap_cup_shadow,GameSettings.cup_open_or_close_time,{
//scaleX:innerData.shadow_scale_min
//,scaleY:innerData.shadow_scale_min
y:innerData.cup_shadow_y2
,onComplete:function(){
}});
}
,close:function(callback){
LTweenLite.to(_bitmap_cup,GameSettings.cup_open_or_close_time,{y:innerData.cup_y,onComplete:function(){
if(callback){
callback();
}
}});
LTweenLite.to(_bitmap_cup_shadow,GameSettings.cup_open_or_close_time,{
//scaleX:innerData.shadow_scale_origin
//,scaleY:innerData.shadow_scale_origin
y:innerData.cup_shadow_y
,onComplete:function(){
}});
}
,showCoin:function(){
_bitmap_coin.visible=true;
}
,hideCoin:function(){
_bitmap_coin.visible=false;
}
,hasCoin:function(){
return _bitmap_coin.visible;
}
};
return robj;
}
var CupSpriteList=[];
var cupListContainer=new LSprite();
var _middle_cup_index=-1;
//--杯子控制器。
var CupContr={
init:function(__opts){
var _child=this;
var _container_width=_child.getCupTotalWidth();
var _container_height=_child.getCupHeight();
_child.initData();
for(var i=0;i< GameSettings.cup_amount;i++){
var _cup1=SpriteCup({
onCupClick:function(event,theObj){
console.log("点击了bit map");
if(GameData.showAnimation){
console.log("动画显示中。。。");
return;
}
if(GameData.gameOver){
console.log("游戏已经结束了。");
return;
}
if(GameData.allowOpenCup==false){
console.log("不允许打开杯子了。");
return;
}
GameData.allowOpenCup=false;
console.log(theObj);
var _theReturnObj=_child.getCupObjByName(theObj);
console.log("真实的名字是:"+_theReturnObj.getRoot().name,"x:"+_theReturnObj.getRoot().x);
var _hasCoin=_theReturnObj.hasCoin();
console.log("是否有硬币:"+_hasCoin);
//_theReturnObj.getRoot().visible=false;
function _check_fail(){
if(GameSettings.max_life<=0){
//--无限命。
TipsContr.showText("你选错啦。",function(){
_child.start_game();
});
}
else{
GameData.usedLife++;
if(GameData.usedLife>GameSettings.max_life){
//--game over。
GameData.gameOver=true;
console.log("game over");
TipsContr.showText("游戏结束");
}
else{
game_top_bar.setCurrentLife(GameSettings.max_life-GameData.usedLife);
TipsContr.showText("继续努力。",function(){
_child.start_game();
});
}
}
}
function _check_ok(){
GameData.stage++;
game_top_bar.resetScore();
_child.start_game();
}
_theReturnObj.open(function(){
//--看看是不是无限命。
setTimeout(function(){
_theReturnObj.close(function(){
if(_hasCoin){
_check_ok();
}
else{
_check_fail();
}
});
},GameSettings.cup_stay_time_after_open*1000);
});
return;
theObj.showCoin(function(){
var _hasCoin=theObj.hasCoin();
console.log("是否有硬币:"+_hasCoin);
setTimeout(function(){},GameSettings.cup_stay_time_after_open*1000);
});
}
});
var _loc=_child.getCupLocInfo(i);
_cup1.getRoot().x=_loc.x;
_cup1.getRoot().y=_loc.y;
_cup1.getRoot().name="cup_"+i;
CupSpriteList.push(_cup1);
cupListContainer.addChild(_cup1.getRoot());
}
cupListContainer.x=parseInt((GameOptions.width-_container_width)/2);
cupListContainer.y=250;
window.CupList=CupSpriteList;
cupContainer=cupListContainer;
_root_.addChild(cupListContainer);
var me=this;
me.setCoinAt(GameSettings.cup_amount+999);
}
,start_game:function(){
GameData.showAnimation=true;
GameData.allowOpenCup=false;
var _ex_time=3;
_ex_time=_ex_time+GameData.stage;
if(_ex_time>18){
_ex_time=18;
}
var _speed=15;
_speed=_speed-GameData.stage;
if(_speed<2){
_speed=2;
}
TipsContr.showStageTips(GameData.stage,function(){
CupContr.start_game_exchange(_ex_time,_speed,{
before_animating:function(){
}
//运行动画前的操作。
,when_over:function(){
TipsContr.showChoose(function(){
GameData.showAnimation=false;
GameData.allowOpenCup=true;
});
}
//动画结束的动作。
});
});
}
,initData:function(){
_middle_cup_index=parseInt((GameSettings.cup_amount-GameSettings.cup_amount%2)/2);
}
//--getCupObject
,getCupObjByName:function(cupName){
var _obj=null;
for(var i=0;i< CupSpriteList.length;i++){
if(CupSpriteList[i].getRoot().name==cupName){
return CupSpriteList[i];
}
}
return _obj;
}
//--计算某个杯子应该的位置。
,getCupLocInfo:function(cupIndex){
var _opt={width: 80, height: 140, between_distance: 56, middle_y: 0, middle_x: 0};
var _cup_sep=20;//杯子间隔。
var loc={x:0,y:0};
loc.x=_opt.width*cupIndex+_cup_sep*cupIndex;
loc.y=0;
return loc;
}
//--计算杯子的总长度及总高度。
,getCupTotalWidth:function(){
var _opt={width: 80, height: 140, between_distance: 56, middle_y: 0, middle_x: 0};
var _cup_sep=20;//杯子间隔。
return _opt.width*GameSettings.cup_amount+_cup_sep*(GameSettings.cup_amount-1);
}
,getCupHeight:function(){
return 140;
}
//--打开某个杯子。
,openCup:function(cupIndex,callback){
if(CupSpriteList[cupIndex]!=undefined){
CupSpriteList[cupIndex].open(function(){
if(callback){
callback();
}
});
}
}
,closeCup:function(cupIndex,callback){
if(CupSpriteList[cupIndex]!=undefined){
CupSpriteList[cupIndex].close(function(){
if(callback){
callback();
}
});
}
}
//--对当前的杯子排序---按照当前杯子的顺序位置来决定谁是第一位。
,sortCupList:function(){
var _arr= CupSpriteList.sort(function(a,b){
return a.getRoot().x> b.getRoot().x?1:-1});//从小到大排序
var _arr_names=[];
for(var i=0;i< _arr.length;i++){
_arr_names.push(_arr[i].getRoot().name);
}
console.log("现在的排序:"+_arr_names.join(","));
CupSpriteList=_arr;
window.CupList=_arr;
}
//--设定当前应该是第几个杯子有硬币
,setCoinAt:function(cupIndex){
for(var i=0;i< CupSpriteList.length;i++){
CupSpriteList[i].hideCoin();
}
if(CupSpriteList[cupIndex]!=undefined){
CupSpriteList[cupIndex].showCoin();
}
}
//--根据角度及中心点及起始点,计算某个杯子在某个弧度的坐标位置。
,_calculate_location_on_circle:function(angle,radius){
var __realLoc={"x":Math.cos(angle)*radius,"y":Math.sin(angle)*radius};
return __realLoc;
}
//--好了,现在来演示两个杯子如何交换,交换动画。
,cup_exchange:function(cupIndex1,cupIndex2,timeInterval,callback){
var me=this;
//--首先排一下序。
if(cupIndex1==cupIndex2){
console.log("error:不能是同一个杯子。");
return;
}
if(CupSpriteList[cupIndex1]==undefined||CupSpriteList[cupIndex2]==undefined){
console.log("error:至少有一个杯子不存在。");
return;
}
var _opt={width: 80, height: 140, between_distance: 56, middle_y: 0, middle_x: 0};
var _left_cup_index=0;
var _right_cup_index=0;
if(cupIndex1>cupIndex2){
_left_cup_index=cupIndex2;
_right_cup_index=cupIndex1;
}
else if(cupIndex2>cupIndex1){
_left_cup_index=cupIndex1;
_right_cup_index=cupIndex2;
}
//--还需要计算中间那个点,还有中心点,还有就是半径。
var _left_cup=CupSpriteList[_left_cup_index];
var _right_cup=CupSpriteList[_right_cup_index];
//简化计算。
var _radius=parseInt((_right_cup.getRoot().x-_left_cup.getRoot().x)/2);
var _left_origin_x=_left_cup.getRoot().x;
var _left_origin_y=0;
var _right_origin_x=_right_cup.getRoot().x;
var _right_origin_y=0;
var _center_x=_left_origin_x+_radius;
var _center_y=0;
//---好了,那么现在就开始用动画显示了。
var _now_angle=180;
var _sep_angle=5;
var _now_right_angle=360;
var _animate_inteval=setInterval(function(){
_now_angle=_now_angle-_sep_angle;
_now_right_angle=_now_right_angle-_sep_angle;
if(_now_angle<0){
_left_cup.getRoot().x=_right_origin_x;
_left_cup.getRoot().y=_right_origin_y;
_right_cup.getRoot().x=_left_origin_x;
_right_cup.getRoot().y=_left_origin_y;
clearInterval(_animate_inteval);
me.sortCupList();
if(callback){
callback();
}
return;
}
var _real_left_angle=(_now_angle*Math.PI)/180;
var _left_loc=me._calculate_location_on_circle(_real_left_angle,_radius);
//--好了,计算当前位置。
_left_loc.x=_left_loc.x+_center_x;
_left_loc.y=_left_loc.y+_center_y;
var _real_right_angle=(_now_right_angle*Math.PI)/180;
var _right_loc=me._calculate_location_on_circle(_real_right_angle,_radius);
_right_loc.x=_right_loc.x+_center_x;
_right_loc.y=_right_loc.y+_center_y;
_left_cup.getRoot().x=_left_loc.x;
_left_cup.getRoot().y=_left_loc.y;
_right_cup.getRoot().x=_right_loc.x;
_right_cup.getRoot().y=_right_loc.y;
},timeInterval);
}
//--好了,现在就是一个完整的关卡动画控制了。 ---这里只是随机选择要摇晃的杯子。。
,start_game_exchange:function(exchangeTimes,speed,opts){
var me=this;
var child_settings={
before_animating:function(){}
//运行动画前的操作。
,when_over:function(){}
//动画结束的动作。
};
$.extend(child_settings,opts);
child_settings.before_animating();
me.setCoinAt(_middle_cup_index);
me.openCup(_middle_cup_index,function(){
setTimeout(function(){
me.closeCup(_middle_cup_index,function(){
setTimeout(function(){
_start_exchange();
},100);
});
},GameSettings.cup_stay_time_after_open*1000);
});
function _start_exchange(){
var _total_exchange_times=exchangeTimes;
var _now_time=0;
var _busy=false;
var _animate_interval=setInterval(function(){
if(_now_time>=_total_exchange_times){
clearInterval(_animate_interval);
return;
}
if(_busy){
return;
}
_busy=true;
_now_time++;
var random_index_1=parseInt(Math.random()*1000)%GameSettings.cup_amount;
//--第二个不重复的随机数。
var _arr_random=[];
for(var i=0;i< GameSettings.cup_amount;i++){
if(i==random_index_1){
continue;
}
_arr_random.push(i);
}
var _random_seq=parseInt(Math.random())*1000%(GameSettings.cup_amount-1);
var random_index_2=_arr_random[_random_seq];
me.cup_exchange(random_index_1,random_index_2,speed,function(){
_busy=false;
if(_now_time>=_total_exchange_times){
child_settings.when_over();
}
});
},speed);
}
}
};
//--提示控制器。
var tips_stage=new LTextField();
var tips_choose=new LTextField();
var tips_showText=new LTextField();
var TipsContr={
init:function(){
tips_stage.color="#000000";
tips_stage.size=24;
tips_stage.text="关卡"+GameData.stage;
tips_choose.color="#000000";
tips_choose.size=24;
tips_choose.text="猜猜金币在哪里?(请选择)";
tips_showText.color="#000000";
tips_showText.size=24;
tips_showText.text="";
tips_stage.x=GameOptions.width/2-tips_stage.width/2+50;
tips_stage.y=400;
tips_choose.x=GameOptions.width/2-150;
tips_choose.y=400;
tips_showText.x=GameOptions.width/2-150;
tips_showText.y=400;
tips_stage.alpha=0;
tips_choose.alpha=0;
tips_showText.alpha=0;
_root_.addChild(tips_stage);
_root_.addChild(tips_choose);
_root_.addChild(tips_showText);
}
,showStageTips:function(stageIndex,callback){
tips_stage.alpha=0;
tips_choose.alpha=0;
tips_showText.alpha=0;
tips_stage.text="关卡"+stageIndex;
LTweenLite.to(tips_stage,GameSettings.opening_animation_time,{alpha:1,onComplete:function(){
if(callback){
callback();
}
}});
}
,showChoose:function(callback){
tips_stage.alpha=0;
tips_choose.alpha=0;
tips_showText.alpha=0;
LTweenLite.to(tips_choose,GameSettings.opening_animation_time,{alpha:1,onComplete:function(){
if(callback){
callback();
}
}});
}
,showText:function(msg,callback){
tips_stage.alpha=0;
tips_choose.alpha=0;
tips_showText.alpha=0;
tips_showText.text=msg;
LTweenLite.to(tips_showText,GameSettings.opening_animation_time,{alpha:1,onComplete:function(){
if(callback){
callback();
}
}});
}
};
CupContr.init();
TipsContr.init();
window.TipsContr=TipsContr;
window.CupContr=CupContr;
_root_.alpha=0;
LayerMain=_root_;
var robj={
show:function(callback){
// LGlobal.box2d.setEvent(LEvent.END_CONTACT,beginContact);
LTweenLite.to(_root_,GameSettings.opening_animation_time,{alpha:1,onComplete:function(){
if(callback){
callback();
}
}});
}
,start_game:function(){
GameData.showAnimation=true;
GameData.allowOpenCup=false;
var _ex_time=3;
_ex_time=_ex_time+GameData.stage;
if(_ex_time>20){
_ex_time=20;
}
var _speed=10;
_speed=_speed-GameData.stage;
if(_speed<1){
_speed=1;
}
TipsContr.showStageTips(GameData.stage,function(){
CupContr.start_game_exchange(_ex_time,_speed,{
before_animating:function(){
}
//运行动画前的操作。
,when_over:function(){
TipsContr.showChoose(function(){
GameData.showAnimation=false;
GameData.allowOpenCup=true;
});
}
//动画结束的动作。
});
});
}
};
return robj;
}
</script>
</body>
</html>
下载地址
给位给点分我,穷啊。。。。
地址:
下载