谈谈最近做的一个FLEX游戏框架

对这两个星期做的一个游戏框架进行总结。

 

主要解决问题是:

如何实现游戏场景的轮转

 

14:10 2009-9-21

打算用swfloader在主场景(客户端)从服务器load不同场景swf下来运行。前提是各个swf互不通信。但是后来发现和实际情况相差甚远,例如从子场景A返回到主场景,这时候是要使自场景A隐藏或者离开显示列表。但是这个命令是由主场景发出还是由自己发出,显然,正常情况是由前者控制的。这就要求要各个场景间互相通信。于是用swfloader的想法失败。代码泡汤。

 

21:29 2009-9-22

推翻昨天的做法,用自定义组件。大概框架是一个swf,然后各个场景均是主场景的子控件,这样就可以很方便控制各个控件的显示和隐藏。这是一个树状模型,有一个弊端,当子控件里面还有子控件的时候,根场景是控制不了的,这样做多少会让人觉得很别扭和笨拙

 

10:05 2009-9-23

使用自定义事件,实现各个组件间的通信,实现松散耦合。结合viewstack,和场景映射数组(arr["sence"] = senceobject),主场景需要两个函数,一个是返回上一层场景,一个跳入一下层场景,然后使用viewstack进行轮转场景。这样形成卫星模型,即使子场景中还有场景,他们之间的关系也是平行的。这样使场景控制权集中在根场景处。keep it simple!

 

0:46 2009-9-26

纯MXML做的几个场景,很手工作坊,手段比较低级。转而考虑子场景全部用AS。

这个游戏比较简单的是,没有出现碰撞的画面。或者说游戏元素很少。主要还是button比较多。

做了如下安排:

1,自定义button。继承sprite,做个轻量级按钮

2,各个子场景父类MyComponent。继承UIComponent,添加自定义事件。

3,由于到了主场景需要用到viewstack添加子容器,继承UIComponent导致类型转换出错,修改button继承UICompnent,MyComponent继承Canvas。代码如下

 

 

 

 

至此,一个松散耦合,组件关系独立,仅由一个主场景控制的,并且具有迁移性的结构完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值