flash游戏与数学问题的一些结合

LongLongAgo,在做泡泡龙游戏的时候,发现数据结构的好处。使用树结构的 [url=http://gain-loss.org/?tag=%e6%95%b0%e5%ad%a6]数学[/url] 模型可以清晰的描述逻辑处理方式。比如在判断是否有球掉落的时候,见下图,就可以用这样的 [url=http://gain-loss.org/?tag=%e6%95%b0%e5%ad%a6]数学[/url] 语言描述:“[1b]对某个球而言,不存在一条路径到达root[/1b]”。root就是最顶层。 [img]/uploads/allimg/100130/2133250.png[/img] 泡泡龙 如果这样的球存在的话,就说明它是“浮空”的,也就是说可以掉下来了。 这类的数学描述在很多领域都用过,记得 [url=http://gain-loss.org/?tag=flash]flash[/url] 的垃圾回收机制么,原来使用计数法来判断一个对象要不要被消灭,如果用在displayObject树结构里就不够了,因为它们可以相互引用,于是,用上面所说的数学描述就成了很好的补充,跟泡泡龙的原理类似,如果有一个displayObject不能到达root的话,它就脱离了显示树,就该被消灭,而不用管计数是多少。 回到泡泡龙的问题上来,一个被发射上来的球可以看成一个根节点,当它被打到一堆球当中的时候,一个树结构就形成了:以这个新球为根,周围的六个球为第一层子节点(可能某些是空,或者重复应用,需要剔除),然后使用广度优先或者深度优先遍历来查找“通往root的路径”,再加上些优化,就能实现这种数学描述,从而完成“掉落”这个游戏功能。 数学在flash游戏中无处不在。此乃往事,特此笔记。 本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/5306.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值