从零开始学社交游戏开发(四)

这一节我们将要将完成游戏启动logo窗口部分。        

  Logo资源加载:

    在loadCfgComplete方法中加入logo加载下面的代码:   

     

_logoSwf = new JFDynamicRes();
_logoSwf.load(config.cfg.sysCfg.logo_url, logoLoadComplete);

  窗口逻辑处理:

   Logo窗口主要是给玩家汇报游戏加载进度,有些游戏还在这个地方加一个消磨时间的小游戏。(例如:7雄的打地鼠…),我们就先做一个加载进度反馈。

   ※Logo窗口接口定义:

package ui.logo {
    import com.jcit.res.IJFDynamicRes;
 
    import flash.display.MovieClip;
 
    public interface ILogoDialog {
        /**
         * 初始化
         * @param res_      - 资源
         */
        function init(res_:IJFDynamicRes):void;
 
        /**
         * 设置进度
         * @param hint      - 提示信息
         * @param setp      - 设置进度
         */
        function setProgress(hint:String,setp:Number):void;
    }
}


 

   ※接口实现:

 public function init(res_:IJFDynamicRes):void {
            // 设置窗口skin
            this.setSkin(res_.displayObjectByName("logo"));
 
            // 创建进度条
            _progressBar = res_.objectByName("LoadProgress") as MovieClip;
            _progressBar.gotoAndStop(1);
            _progressBar.x = 350;
            _progressBar.y = 524;
            JFApp.appMainSprite.tipsLayer.addChild(_progressBar);
 
            // 创建进度条提示标签
            var tmpFont:IJFFont = FontLibrary.getInstance().song12Font;
            tmpFont.setAlign(TextFormatAlign.LEFT);
            tmpFont.setBold(true);
            _progressLabel = new HtmlLabel("",tmpFont);
            _progressLabel.widthAuto = true;
            _progressLabel.textColor = 0xFFFFFF;
            _progressLabel.x = 365;
            _progressLabel.y = 567;
            addChild(_progressLabel as DisplayObject);
        }
 
        public function setProgress(hint:String, setp:Number):void {
            _progressLabel.text = hint;
            var frame:int = setp * 100;
            _progressBar.gotoAndStop(frame);
        }


   在这里需要用IDEA强大的实现接口方法的办法,在LogoDialog类上按下Alt+Enter就会有一个弹出菜单,再按下Enter所有ILogoDialog接口中的方法就会被自动构造好了,超方便!!!,如下图:

   

  在 init 方法中出现了一个FontLibrary类,这个类在VGCommon模块中定义,游戏中需要的字体都通过这个类提供,也没啥难度,代码就不贴了(需要的点这里下载),大家可以在下图指定的地方看代码:

   

  Logo窗口代码已经搞定了,接下来我们在Logo资源加载完成的地方把这个Logo窗口显示出来,代码如下:

 private function logoLoadComplete(success_:Boolean):void {
            if (!success_) {
                JFLog.outError("logo load false!!!");
                return;
            }
 
            // 初始化Logo窗口
            logoDlg = new LogoDialog();
            logoDlg.init(_logoSwf);
            logoDlg.show(false);
 
            // 计算游戏加载完成需要多少步骤
            total_load_step =
                    cfg.sysCfg.config.length +  // 有多少个配置需要下载
                    cfg.sysCfg.res.length +     // 有多少个资源需要下载
                            1 +                 // 装载游戏模块
                            1 +                 // 渲染场景
                            1;                  // 进入场景
            cur_load_step = 0;
            cfg_load_index = 0;
            logoDlg.setProgress("", cur_load_step);
        }


  接下来把html和js文件放到src目录下面,如下图:

  

   配置运行选项,如下图:  

  

  

  配置好相关运行选项后:

  

  启动后看到一片白啥也没有,这个时候时候需要设置一下安全策略,如下图:

  

  

  

  加好站点域名后,刷新一下页面,就看到村神的启动画面了,如下图:

  

终于看到一点成果了!!!,休息一会….!

本节源码下载地址:点这里下载

从零开始学社交游戏开发(一)

从零开始学社交游戏开发(二)

从零开始学社交游戏开发(三)

来源:http://www.360ito.com/article/404.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值