360ITO技术社区
  • 首页
  • 文章
  • 快讯
  • 讨论
  • 问答
  • 小贴士
  • 代码块
  • 开源
  • 老论坛
登录 | 注册

360ITO技术社区  > 文章

订阅文章

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

smallghost 发布于 7年前 ( comment 0条评论  查看:5534  收藏:0 )

游戏场景:

  游戏场景是由若干的图层组成的,在这里主要将图层划分为:

    场景层:包括背景、建筑

    UI层:主要包括一些面板(商店、好友、礼品栏
    UI弹出层:主要包括一些弹出窗口(排行、帮助
    向导层:这个图层主要作用就是做引导用的,可以先不用理会,在制作游戏向导的时候。会再
    提示层:显示功能提示
    鼠标操作层:所有的鼠标处理事件都是在这个图层处理。

    




插件模式:

  利用插件我们可以将游戏划分成一个个小模块,每个模块对应一个插件,这样很适合团队分工开发一个游戏,在第二节中创建的“VillageGodModule”就是一个插件。在主程序启动后会加载这个插件,游戏的处理逻辑都在这个插件里面实现。




美术资源分包:

  村神的美术资源都是分成若干个资源包,这样做的目的是用到哪个美术资源再加载那个,可以节省网络带宽,加快游戏加载速度。




一些配置:

  语言配置   - 游戏中出现的提示信息等都在这个配置里面

  在线礼品配置 – 为了鼓励玩家多在线所以需要有个配置,配置在线的奖励

  道具配置   - 游戏道具的一些配置

  建筑配置    – 建筑属性的一些配置

  游戏配置   - 游戏启动第一个加载的就是这个配置,更具这个配置再做相应的处理







“村神”概括



注意:对于不清楚的地方先不用理会,带着疑问继续往下。


“村神”启动流程:





呼呼!写了一大堆自己都感觉云里雾雨里了,下面我们将进入实际的代码开发。

1、需要用到的常量定义
  在VGCommon模块中创建类 TVGDefine,如下图:
  
  该类中定义了以后需要使用的常量。


package constant {
    public class TVGDefine {
        // 初始化场景
        public static const INIT_SCENE:int = 1000;
        // 进入场景
        public static const INTO_SCENE:int = 1001;
    }
}





2、创建主入口 “VillageGod”类:

  

  

  VillageGod是JFAppMain的派生类。JFAppMain就是前面介绍的“游戏场景”,场景里按层划分好,以后会讲诉怎么使用这些层。

  代码:


package {
    import com.jcit.core.JFAppMain;
    [SWF(width="950", height="640", frameRate="24")]
    public class VillageGod extends JFAppMain{
        public function VillageGod() {
            super();
        }
    }
}



3、重载init方法:   

  在VillageGod类中按下快捷键Alt+Insert 会有一个弹出菜单选择Override methods..,如下图:

     

  


  初始化方法主要完成:
    ※舞台初始化
    ※皮肤相关设置
    ※注册提示条

  代码:


  override protected function init(event:Event = null):void {
    super.init(event);
 
    // 初始化舞台
    initStage();
 
    // 保存装载参数
    JFApp.parameters = root.loaderInfo.parameters;
 
    // 皮肤相关设置
    JFAppConfig.skinWndColor = 0xFFF4A604;  // 皮肤窗口背景色
    UISkinDialog.resId = 1;                  // 皮肤对话框资源ID
 
    // 注册提示条
    ToolTipManager.getInstance().registerToolTip(SimpleToolTip);            
    ToolTipManager.getInstance().registerToolTip(LeftAlignSimpleToolTip, "LeftAlignSimpleToolTip");
  }





4、装载系统配置:   

  ※需要先创建系统配置文件:

    ★在主程序的src目录下创建一个名为cfg的包,如下图:

    

    ★在cfg包内创建一个名为“sys_cfg.json”文件,如下图:

    

  ※美术资源准备

   将 logo.swf 和 res001.swf两个资源放在res目录下(可以把代码先下载下来,里面可以找到这两个资源),放置好后的结果如下图:

   

  ※配置“sys_cfg.json”文件

{

    "logo_url":"res/logo.swf",

    "res":[

        {"id":1,

        "url":"res/res001.swf",

        "size":0

        }

    ],

    "prg_ver":"v1",   ß  这个是程序版本号,具体作用后面会讲解

    "res_ver":"v1"    ß 这个是资源版本号

}      




  配置文件准备好了以后,开始加载配置了:


        private function onLoadSysCfg():void {
            var loader:URLLoader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, loadCfgComplete);
            loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
            var fileName:String = "cfg/sys_cfg.json?v=" + (new Date().getTime()).toString();
            loader.load(new URLRequest(fileName));
        }

  加载完成后开始保存数据,将数据保存在VGCommon模块中:

    ★首先在VGCommon模块中创建cfg类,如下图:

    

    ★系统配置get和set代码:


private static var _sysCfg:Object;
public static function get sysCfg():Object {
  return _sysCfg;
}
public static function set sysCfg(value:Object):void {
  _sysCfg = value;
}


   保存加载的配置:

            config.cfg.sysCfg = JSON.decode(URLLoader(event.target).data);

    这里需要给大家讲解一下IDEA的强大纠错方法,在我们程序出错的时候,IDEA都会为我们提出最近的解决方案,如下图:


   

   提示里已经说的很明白了,只要按下Alt+Enter就可以导入缺少的引用。


今天教学就先写到这里,下一章我们就可以看到一点小成果了,加油!!!

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


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

 



0 有用 0 无用
本站原创,欢迎转载;尊重他人劳动,转载时保留以下信息:
本文转自:360ITO技术社区
原文标题:从零开始学社交游戏开发(三)
原文地址:http://www.360ito.com/article/387.html
360ito.com
Flash

共有0个评论 我要评论»

按时间排 按有用数排 按支持数排

网友回复/评论仅代表其个人看法,并不表明本社区同意其观点或证实其描述。

请尽量让自己的回复能够对别人有帮助

1.不欢迎无意义的回复/评论和类似“顶”、“沙发”之类没有营养的文字
如果只是想简单的表个态,请点 有用无用支持反对 等按钮
2.发言之前请再仔细看一遍文章,或许是您遗漏、误解了,理性讨论、切莫乱喷
3.严禁发布违法、违规的信息,请勿到处招贴广告、发布软文;
4.如果您发现自己的回复/评论不见了,请参考以上3条
5.不停制造违规、垃圾信息的,账户将被禁止

热门标签

  • android 20
  • Flash 15
  • 游戏 12
  • Linux 12
  • Python 11
  • 工作笔记 11
  • 社交游戏 7
  • delphi 5
  • jquery 5
  • 编程 4
  • 谷歌 4
  • git 4
  • Centos 4
  • JavaScript 3
  • 开发者 3
  • C/C++ 3
  • 安全 2
  • 代码 2
  • 浏览器 2
  • 移动应用 2

相关文章

周热点

月热点

  • 3周前qifei233333333333 (186)
  • 3周前qifei233333333333 (175)
  • 2周前qifei233333333333 (140)
  • 1周前qifei233333333333 (118)
  • 1周前qifei233333333333 (92)
Copyright ©2011-2012 360ITO技术社区 All Rights Reserved. | 关于 | 联系我们 | 杭州精创信息技术有限公司 浙ICP备09019653号-26|
▲