Fleet Commander项目启动流程
来源:互联网 发布:上海游族网络招聘 编辑:程序博客网 时间:2024/05/22 05:13
1.Fleet Commander桌面项目界面启动流程
Main函数所在类InterstellarDesktop
-->在InterstellarDesktop类中,第32行初始化:InterstellarMain类
-->在InterstellarMain类中,第110行初始化:InterstellarGame主类
-->在InterstellarGame类中,第20行初始化:InterstellarCorver类
-->在InterstellarCorver类中,第103行,调用setST(ST_LOGO)进行第一个界面的启动
-->在UI_Logo绘制过程中,在UI_Logo的run方法中加载资源,加载完所有资源后,即在最后一步的第167行case totalLogoTime switch分支中第170行调用InterstellarCorver.setST(ST_MENU),使得带有start按钮的界面的启动。
2.游戏界面分为2层进行绘制。
1.游戏内部的调用paint(Graphics g)方法
@Overridepublic void paint(Graphics g, float offx, float offy) {g.setColor(1, 1, 1, 1);curGameUI.paint(g);}比如转动的星球等。
2.其它的像金币了之类的外围用paintHUD(Graphics g)绘制。
@Overridepublic void paintHUD(Graphics g) {//if(true)//return;g.setColor(1, 1, 1, 1);StaticsVariables.AllTime++;runCircle();StaticsVariables.runtime.runAllTime();StaticsVariables.sound.runSoundAndMusic();runEveryTime();curGameUI.run();curGameUI.paintHUD(g);if (selLanguage.isVisible()) {selLanguage.run();selLanguage.paintHUD(g);}}
具体的paintHUD调用流程如下:
InterstellarCover
@Overridepublic void paintHUD(Graphics g) ;
-->SimpleGame
public void renderHUD(Graphics g) {if (showLoading) {drawLoading(g);// loading时不绘制其他return;} else {currSubSys.paintHUD(g);}// 闪屏if (splashRemain > 0) {drawSplash(g);}}3.游戏模块
<1>动画相关
Playerr
<2>UI_Logo
带有启动和资源加载的界面
<3>UI_Menu
带有start按钮的界面
调用menuLoginAccountSuccess(LoginResponse lr)这个方法后,当登陆成功时,
1.setDialog(DIALOG_登陆成功); //登陆成功 --jn
2.根据当前的第几次玩
<4>ST_BIGMISSION
带有星球转动的界面
<5>弹出二级框。
在UI_SignIn中,
弹框思路是: 弹二级框是:下面的两部分绘制,新的框也绘制。这样就实现了二级框。
要是切换界面,就是:下面的不绘制了,只绘制新的就代表切换界面了。相当于控制界面的隐藏性来控制需要绘制的界面。
毕竟所有的界面都在Corver中new出来了,所以切换什么的,都比较快,也算是有一定好处.
@Override
public void paint(Graphics g) {
InterstellarCover.bigmission.paint(g);
}
@Override
public void paintHUD(Graphics g) {
InterstellarCover.bigmission.paintHUD(g);
drawMengban(g);
// 背景
curImgHUD.getAction(0).getFrameId(1).paintFrame(g, Global.halfHUDW, Global.halfHUDH, 0, false, 1f, 1f);
// 签到标题
// int month = (int)calendar.get(Calendar.MONTH) + 1;
...
}
<6>
public TaskList taskList;// 任务窗口第一个list,任务界面 //1任务 --jn
// 战斗消息.战斗日志
public BattleInfoList battleInfoList;// 战斗日志list //2战斗日志 --jn
//系统消息
public MailList mailList; //3 系统邮件 --jn
//活动消息
public ActivityList activityList; //4 活动消息 --jn
<7>
测试功能 if(true) return;
<8>ST_PVP_LOAD
带有教学的
0 0
- Fleet Commander项目启动流程
- HOJ 1487 Fleet Commander
- Java 项目启动流程
- Ext js项目启动流程
- angular项目的启动流程
- cocos2d 项目框架和启动流程
- cocos2d 项目框架和启动流程
- Ruby on rails 项目启动流程
- Spring mvc项目上下文启动流程解析
- Fleet问题
- 解析Cocos2d项目整体框架和启动流程
- 浅谈erlang游戏服务器项目--英雄远征服务启动流程
- 启动流程
- 启动流程
- 项目流程
- 项目流程
- 项目流程
- 项目流程
- android 开发技巧
- 用firebug的console调试JavaScript后不需删除调试代码
- Highway
- Fragment的通信问题, 新建Fragment为何不要在构造方法中传递参数
- DTP中过滤写例程 取今天
- Fleet Commander项目启动流程
- 用Margin还是用Padding(转)
- android 过场动画如何加载
- Android之framework修改底部导航栏NavigationBar动态显示和隐藏
- blogs
- AJAX异步局部更新简单案列
- 查看linux是否是虚拟机
- 使用NSURLSession发起HTTPS网络请求
- 每周数据结构【2】:删除带头结点的含有x的值的节点