(AS3)发一个刚工作那会写的Flash俄罗斯方块

刚工作那会还不会AS3,因为以前用C++写过了俄罗斯方块,所以转到AS3并没有太大困难,应该仅仅是一个代码转换的过程吧。

 

Flash有一套成熟的可视对象体系,和使用C++最原始的绘图接口不同,使用起来也更符合人的思维习惯。

 

关于俄罗斯方块中用到的一些算法:

1、方块的生成

  其实方块就是预先存储下来了7个预定义的形状,在4X4的坐标空间中定义一个方块,然后生成的时候直接取。

  当然也可以更高端一些,比如提供一个方块编辑器,让玩家自己设定方块的形状。

2、方块的旋转

  方块的旋转,从坐标上来说其实就是把方块的坐标系顺时针或者逆时针旋转90度,所以可以使用矩阵(Matrix)来干这件事情。

  大概的代码是这样:matrix.rotate(Math.PI / 2);var point_:Point = matrix.transformPoint(point);

3、消层

  这个就简单多了,游戏空间是一个10X20的二维数组,只要判断某一行都有方块就可以消层了。

  不过要注意的是,消完层还需要把上面的方块顺次往下移,而且移完后还需要再进行消层的判断。

 

以下是游戏,先点一下激活,再按回车开始

 

附代码:http://dl.dbank.com/c0cmys23vm

转载于:https://www.cnblogs.com/yili16438/archive/2012/04/03/2430837.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值