lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15703|回复: 15
打印 上一主题 下一主题

麻烦大大帮忙看看了,谢谢!

[复制链接]

9

主题

0

好友

87

积分

士兵

Rank: 1

跳转到指定楼层
楼主
发表于 2013-3-28 17:53:07 |只看该作者 |倒序浏览
function gameInit(result){
   imglist = result;
   removeChild(loadingLayer);
   loadingLayer = null;

   //加载完成, 载入游戏图层
    layerInit();
    //背景图片载入
    var Background = new LBitmapData(imglist["Background"])  ;
    var BackgroundImg = new LBitmap(Background);
    BackgroundImg.scaleX = gameScaleX;
    BackgroundImg.scaleY = gameScaleY;
    mapLayer.addChild(BackgroundImg);
    //登录背景框载入
    var SignBackground = new LBitmapData(imglist["SignBackground"]);
    var SignBackgroundImg = new LBitmap(SignBackground);
    SignBackgroundImg.x = gamewidth / 2 - SignBackgroundImg.getWidth()*gameScaleX/2;
    SignBackgroundImg.y = gameheight * 0.48;
    SignBackgroundImg.scaleX = gameScaleX ;
    SignBackgroundImg.scaleY = gameScaleY ;
    effectLayer.addChild(SignBackgroundImg);
    //游戏logo
    var Logo = new LBitmapData(imglist["Logo"]);
    var LogoImg = new LBitmap(Logo);
    LogoImg.x = gamewidth / 2 - LogoImg.getWidth()*gameScaleX/2;
    LogoImg.y = -LogoImg.getHeight();
    LogoImg.scaleX = gameScaleX;
    LogoImg.scaleY = gameScaleY;
    effectLayer.addChild(LogoImg);
    //云1
    var ClubOne = new LBitmapData(imglist["ClubOne"]);
    var ClubOneImg = new LBitmap(ClubOne);
    ClubOneImg.x = gamewidth;
    ClubOneImg.y = gameheight * .05;
    ClubOneImg.scaleX = gameScaleX;
    ClubOneImg.scaleY = gameScaleY;
    effectLayer.addChild(ClubOneImg);
    //云2
    var ClubTwo = new LBitmapData(imglist["ClubTwo"]);
    var ClubTwoImg = new LBitmap(ClubTwo);
    ClubTwoImg.x = gamewidth;
    ClubTwoImg.y = gameheight * .15;
    ClubTwoImg.scaleX = gameScaleX;
    ClubTwoImg.scaleY = gameScaleY;
    mapLayer.addChild(ClubTwoImg);
    //云3
    var ClubThree = new LBitmapData(imglist["ClubThree"]);
    var ClubThreeImg = new LBitmap(ClubThree);
    ClubThreeImg.x = gamewidth;
    ClubThreeImg.y = gameheight * .25;
    ClubThreeImg.scaleX = gameScaleX;
    ClubThreeImg.scaleY = gameScaleY;
    clubLayer.addChild(ClubThreeImg);
    //音乐开按钮
    MusicOn = new LButton(new LBitmap(new LBitmapData(imglist["MusicOn"])),new LBitmap(new LBitmapData(imglist["MusicOnSelect"])));
    MusicOn.x=gamewidth * .01;
    MusicOn.y=gameheight - MusicOn.getHeight() * gameScaleX * 2 * 1.04;
    MusicOn.scaleX = gameScaleX;
    MusicOn.scaleY = gameScaleY;
    effectLayer.addChild(MusicOn);
    //音乐关按钮
    MusicOff = new LButton(new LBitmap(new LBitmapData(imglist["MusicOff"])),new LBitmap(new LBitmapData(imglist["MusicOffSelect"])));
    MusicOff.x=gamewidth * .01;
    MusicOff.y=gameheight - MusicOn.getHeight() * gameScaleX * 1.04;
    MusicOff.scaleX = gameScaleX;
    MusicOff.scaleY = gameScaleY;
    effectLayer.addChild(MusicOff);
    //用户登陆按钮
    BtnSign = new LButton(new LBitmap(new LBitmapData(imglist["BtnSign"])),new LBitmap(new LBitmapData(imglist["BtnSignSelect"])));
    BtnSign.x=gamewidth /2 + BtnSign.getWidth()*gameScaleX*.3;
    BtnSign.y=SignBackgroundImg.y + BtnSign.getHeight() * gameScaleY *.6*5.3;
    BtnSign.scaleX = gameScaleX;
    BtnSign.scaleY = gameScaleY;
    effectLayer.addChild(BtnSign);
    BtnSign.addEventListener(LMouseEvent.MOUSE_DOWN,userlogin);
    //用户注册按钮
    BtnReg = new LButton(new LBitmap(new LBitmapData(imglist["BtnReg"])),new LBitmap(new LBitmapData(imglist["BtnRegSelect"])));
    BtnReg.x=gamewidth /2 - BtnReg.getWidth()*gameScaleX*1.3;
    BtnReg.y=SignBackgroundImg.y + BtnReg.getHeight() * gameScaleY *.6*5.3;
    BtnReg.scaleX = gameScaleX;
    BtnReg.scaleY = gameScaleY;
    effectLayer.addChild(BtnReg);
   // BtnReg.addEventListener(LMouseEvent.MOUSE_DOWN,regedit);
    //退出游戏按钮
    LoginOut = new LButton(new LBitmap(new LBitmapData(imglist["LoginOut"])),new LBitmap(new LBitmapData(imglist["LoginOut"])));
    LoginOut.x=gamewidth  - LoginOut.getWidth()*gameScaleX ;
    LoginOut.y=gameheight - LoginOut.getHeight() * gameScaleX * 1.04;
    LoginOut.scaleX = gameScaleX;
    LoginOut.scaleY = gameScaleY;
    effectLayer.addChild(LoginOut);
    //账号输入框
    var UserName = new LTextField();
    UserName.x = SignBackgroundImg.x + SignBackgroundImg.getWidth() * .5/1.4;
    UserName.y = SignBackgroundImg.y + BtnSign.getHeight() * gameScaleY *.6*1.1;
    UserName.size = BtnSign.getHeight() *gameScaleY * .45;
    UserName.alpha = .4;
    UserName.width =  LogoImg.getWidth() * .5;
    UserName.height = BtnSign.getHeight() * gameScaleY *.6;
    UserName.setType(LTextFieldType.INPUT);
    effectLayer.addChild(UserName);
    //密码输入框
    var PassWord = new LTextField();
    PassWord.x = SignBackgroundImg.x + SignBackgroundImg.getWidth() * .5/1.4;
    PassWord.y = SignBackgroundImg.y + BtnSign.getHeight() * gameScaleY *.6*3.4;
    PassWord.size = BtnSign.getHeight() *gameScaleY * .45;
    PassWord.alpha = .4;
    PassWord.width =  LogoImg.getWidth() * .5;
    PassWord.height = BtnSign.getHeight() * gameScaleY *.6;
    PassWord.setType(LTextFieldType.INPUT);
    effectLayer.addChild(PassWord);
    //LOGO动画
    logoactive();
    function logoactive(){
         var vars = {
             x:gamewidth / 2 - (LogoImg.getWidth()/2),
             y:0,
             ease:Bounce.easeOut
         };
         LTweenLite.to(LogoImg,1.2,vars);
    }
    //云1动画
    club1active();
    function club1active(){
        ClubOneImg.x = gamewidth ;
        ClubOneImg.y = gameheight * .05;
        var vars ={
            x:-ClubOneImg.getWidth(),
            y:gameheight * .05,
            onComplete: club1active2,
            ease:Sine.easeIn
        };
        LTweenLite.to(ClubOneImg,18,vars) ;
    }
    function club1active2(){
        ClubOneImg.x = gamewidth ;
        ClubOneImg.y = gameheight * .05;
        var vars ={
            x:-ClubOneImg.getWidth(),
            y:gameheight * .05,
            onComplete: club1active,
            ease:Sine.easeIn
        };
        LTweenLite.to(ClubOneImg,18,vars) ;
    }
    //云2动画
    club2active();
    function club2active(){
        ClubTwoImg.x = gamewidth;
        ClubTwoImg.y = gameheight * .015;
        var vars ={
            x:-ClubTwoImg.getWidth(),
            y:gameheight * .015,
            onComplete: club2active2,
            ease:Sine.easeIn
        };
        LTweenLite.to(ClubTwoImg,25,vars) ;
    }
    function club2active2(){
        ClubTwoImg.x = gamewidth;
        ClubTwoImg.y = gameheight * .015;
        var vars ={
            x:-ClubTwoImg.getWidth(),
            y:gameheight * .015,
            onComplete: club2active,
            ease:Sine.easeIn
        };
        LTweenLite.to(ClubTwoImg,25,vars) ;
    }

    //云3动画
    club3active();
    function club3active(){
        ClubThreeImg.x = gamewidth;
        ClubThreeImg.y =  gameheight * .2;
        var vars ={
            x:-ClubThreeImg.getWidth(),
            y:gameheight * .2,
            onComplete: club3active2,
            ease:Sine.easeIn
        };
        LTweenLite.to(ClubThreeImg,33,vars) ;
    }
    function club3active2(){
        ClubThreeImg.x = gamewidth;
        ClubThreeImg.y =  gameheight * .2;
        var vars ={
            x:-ClubThreeImg.getWidth(),
            y:gameheight * .2,
            onComplete: club3active,
            ease:Sine.easeIn
        };
        LTweenLite.to(ClubThreeImg,33,vars) ;
    }

    function bibao(){
        alert("1231231");
    }


    return {
        dodo:function ok(){
            alert("执行dodo");
            bibao();
        }
    }
}


回复

使用道具 举报

9

主题

0

好友

87

积分

士兵

Rank: 1

沙发
发表于 2013-3-28 17:55:36 |只看该作者
这个是外部调用的
<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title></title>
    <style type ="text/css">
    html {
    overflow-x:hidden;
    overflow-y:hidden;
    }
    </style>
</head>  
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div id="LowCarbon"></div>
<script type="text/javascript" src="./src/lufylegend-1.7.0.js"></script>
<script type="text/javascript" src="./js/main.js"></script>
<script type="text/javascript" src="./src/socket.io.js"></script>
<script>
         var socket = io.connect('http://localhost:8881');
         socket.on('connect', function () {
             var username = 'test001'
                     , userpass = 'c9627ca256d8b6fbd550e04548e3dc58';  
             socket.emit('userregisters',{ username: username,userpass:userpass})
         });
         function userlogin(){
             socket.emit('userregisters',{ username: "112233",userpass:"415252"});
            var didi = gameInit();
             didi.dodo()//这里执行闭包内函数,但是执行错误

         }
</script>
</body></html>
回复

使用道具 举报

37

主题

8

好友

9312

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

板凳
发表于 2013-3-28 18:00:24 |只看该作者
因为看不到全部代码,所以我说一下可能性吧

  1.          function userlogin(){
  2.              socket.emit('userregisters',{ username: "112233",userpass:"415252"});
  3.              var didi = gameInit();
  4.              console.log(didi.dodo())
  5.          }
复制代码
你在这里调用了 gameInit();
  1. function gameInit(result){
  2.    imglist = result;
  3.    removeChild(loadingLayer);
  4.    loadingLayer = null;
复制代码
这个loadingLayer存在吗?
还有,提示main.js的46行出错,46行是哪行代码?
不回答与技术和引擎不相关的问题
回复

使用道具 举报

37

主题

8

好友

9312

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

地板
发表于 2013-3-28 18:01:06 |只看该作者
lufy 发表于 2013-3-28 18:00
因为看不到全部代码,所以我说一下可能性吧你在这里调用了 gameInit();这个loadingLayer存在吗?
还有,提 ...

另外,你这里的gameInit的参数result肯定是没有的啊
不回答与技术和引擎不相关的问题
回复

使用道具 举报

9

主题

0

好友

87

积分

士兵

Rank: 1

5#
发表于 2013-3-28 18:03:20 |只看该作者
lufy 发表于 2013-3-28 18:01
另外,你这里的gameInit的参数result肯定是没有的啊

哦,这个是用的您的例子的代码复制过来的,所以没注意呢,呵呵,代码已经发到您邮箱了
回复

使用道具 举报

37

主题

8

好友

9312

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

6#
发表于 2013-3-28 18:04:09 |只看该作者
看了你发给我的代码了
gameInit第一次是在main()中调用了一次,
然后运行之后,将loadingLayer = null;了一次
那么,当你在下面的代码中再次调用gameInit的时候,由于loadingLayer是null,
所以removeChild(loadingLayer);的时候就出错了
  1. function userlogin(){
  2.              socket.emit('userregisters',{ username: "112233",userpass:"415252"});
  3.              var didi = gameInit();
  4.              console.log(didi.dodo())
  5.          }
复制代码
不回答与技术和引擎不相关的问题
回复

使用道具 举报

9

主题

0

好友

87

积分

士兵

Rank: 1

7#
发表于 2013-3-28 18:07:00 |只看该作者
lufy 发表于 2013-3-28 18:04
看了你发给我的代码了
gameInit第一次是在main()中调用了一次,
然后运行之后,将loadingLayer = null;了一 ...

恩,谢谢了,厉害啊,那么快就找到问题了,呵呵
请问怎么解决呢?
回复

使用道具 举报

9

主题

0

好友

87

积分

士兵

Rank: 1

8#
发表于 2013-3-28 18:09:53 |只看该作者
发现问了,貌似想用这样的方法行不通,把您刚才提出的修改后,下面继续类似的问题,所有的图片都提示没资源,等于是要重新加载一次资源,我换个思路去解决整体的问题,谢谢了
回复

使用道具 举报

37

主题

8

好友

9312

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

9#
发表于 2013-3-28 18:13:01 |只看该作者
我不太明白你的目的,
gameInit函数既然已经自动调用了,而且gameInit这个函数好像就是你的这个登录页面吧?
你为什么要再调用它一次呢?
只是想执行以下bibao()这个函数吗?
那直接将bibao这个函数定义在外侧,然后点击登录后,调用它就可以了吧。
不回答与技术和引擎不相关的问题
回复

使用道具 举报

9

主题

0

好友

87

积分

士兵

Rank: 1

10#
发表于 2013-3-28 18:16:42 |只看该作者
lufy 发表于 2013-3-28 18:13
我不太明白你的目的,
gameInit函数既然已经自动调用了,而且gameInit这个函数好像就是你的这个登录页面吧 ...

已经解决了,开始是socket.io的问题,在闭包内发送不了数据出去,所以才把websocket的内容写到另外的文件内,现在已经解决了,呵呵,非常感谢您的耐心解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-5-6 18:51 , Processed in 0.051530 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部