论文部分内容阅读
果果:上期我们对比了Flash ActionScript(简称AS)的几个版本,还了解了要实现一个简单的Flash游戏,需要掌握什么基础知识。那么本期,咱们就来真正地用AS3做一个连连看游戏!这个风靡世界的小游戏,属于入门级的,做起来并不复杂哦!
思路和算法
我们要做的事情首先就是分析二维数组,并控制元件的显示(见下图)。
我们希望实现的是,点击两个相同的图片,按照某些规则,判断这两个图是否可以被消除掉,直到画面中图片都被消除掉即可过关。可以把这张图理解为一个二维数组,没有方块图片的地方属性是可通行,有图片的地方属性不可通行,且记录代表不同图片的数字,以便检查是否匹配。
如左图所示,判断两张画面相同的图片是否可以消失的规则是:用一条线链接两个图片方块,线的拐点小于等于2个。而这条连接线经过的方块区域(二维数组中,线段经过的区域)必须是可通行的,不可以有其他的图片方块。
两张图片排列规则有:上下相邻、左右相邻、在同一列但不同行、在同一行但不同列、不同行不同列。我们在程序中,就要一步步按规则判断是否可以把图片消除掉。
重点代码解读
这个程序具体实现的代码和源文件详见http://www.crazydream.net/article/page1.asp,下载后可以在Flash中修改和调试。
这是用AS3写的程序,实现同样的效果方法有很多种。核心部分是chack(),判断两个图片是否可以被消除,分3部分:
①检查没有节点的情况(两张图在同一行或者同一列、相邻或者不相邻两种情况)
②检查一个节点的情况(从后一个被点击的图片出发,检查4个方向)
③检查两个节点的情况(从后一个被点击的图片出发,检查4个方向)
由于篇幅所限,检查一个节点的左、右方向,还有两个节点情况下的代码请参见源文件http://www.crazydream.net/article/page1.asp。除chack()外,checkhang()和checklei()也比较重要,用来检查一个方块与另一个之间是否可通行,大家可以仔细研究一下。
Flash工具百宝箱
★关于学习用Flash做动画
几个最基础的内容你必须理解并学会如何使用。
①时间轴:让你的素材动起来就靠他了。
②工具:你需要使用这些工具绘制想要的素材。
③库:可以反复使用,用来做动画的原件就在这里。
④属性面板:设置Flash Player的版本、帧速等。
至于菜单里其他的内容,比如:设置色彩、设置变形等等,你会在学习的过程中慢慢接触,接触不到的基本不太常用。
★关于学习AS程序
学习AS1:《闪客梦工厂——FLASH MX网页动画宝典》,Flash MX (Flash 6)虽然是很老的版本,但对于Flash动画的结构和特点,其实是一直到现在都没变的。所以这本书中讲的内容,仍然适用于最新的Flash CS4 (Flash 10)。此外《Flash 8宝典》也不错。
《Flash 区块游戏开发》http://www.blueidea.com/tech/multimedia/2004/1892.asp读懂后你的水平会有极大的提高。本文作者当时看懂本文后,基本上所有的游戏类型都可以做了,很神奇。
学习AS2:《Flash MX 2004 ActionScript 2.0 与RIA应用程序开发》
学习AS3:《ActionScript3殿堂之路》
学习算法:《Flash MX 编程与创意实现》、《闪客实战 Flash高级编程》、《Flash Actionscript 3.0 动画教程》
玩代码?小Case!
本期开始“铺”代码了,有人晕了吗?这还没坐飞机、火车、轮船呢!放轻松,其实代码很可爱、很神奇!
在我们的便利生活背后,代码可是无名英雄。看懂一段代码,自己写出一段代码,实现一个小功能,那成就感不亚于解出一道数学难题!
游戏也是如此,本文特约作者原来只是一个美术发烧友、漫画积极分子,这不也把Flash编程语言玩得很转?了解一个游戏的算法,不管是用Java实现,还是用C实现,思路都是一样的,只是语法不同,有的是方脸,有的是圆脸罢了。相对于其他语言,Flash的AS3应该是最容易上手和最容易学习的,作为面向对象编程入门实在合适不过了,好好钻研,趣味无限哦!
Flash十几岁了,有了AS3这个魔杖,它变得异常强大,很多以前在java和C平台上的类库被移植到了AS3上,比如物理引擎、3D引擎等,可以让我们不用去了解高深的数学和物理知识,就能很容易地做出不可思议的互动。我们需要学习的只是如何调用那些类库提供的接口,那么下期就给大家仔细介绍吧!
思路和算法
我们要做的事情首先就是分析二维数组,并控制元件的显示(见下图)。
我们希望实现的是,点击两个相同的图片,按照某些规则,判断这两个图是否可以被消除掉,直到画面中图片都被消除掉即可过关。可以把这张图理解为一个二维数组,没有方块图片的地方属性是可通行,有图片的地方属性不可通行,且记录代表不同图片的数字,以便检查是否匹配。
如左图所示,判断两张画面相同的图片是否可以消失的规则是:用一条线链接两个图片方块,线的拐点小于等于2个。而这条连接线经过的方块区域(二维数组中,线段经过的区域)必须是可通行的,不可以有其他的图片方块。
两张图片排列规则有:上下相邻、左右相邻、在同一列但不同行、在同一行但不同列、不同行不同列。我们在程序中,就要一步步按规则判断是否可以把图片消除掉。
重点代码解读
这个程序具体实现的代码和源文件详见http://www.crazydream.net/article/page1.asp,下载后可以在Flash中修改和调试。
这是用AS3写的程序,实现同样的效果方法有很多种。核心部分是chack(),判断两个图片是否可以被消除,分3部分:
①检查没有节点的情况(两张图在同一行或者同一列、相邻或者不相邻两种情况)
②检查一个节点的情况(从后一个被点击的图片出发,检查4个方向)
③检查两个节点的情况(从后一个被点击的图片出发,检查4个方向)
由于篇幅所限,检查一个节点的左、右方向,还有两个节点情况下的代码请参见源文件http://www.crazydream.net/article/page1.asp。除chack()外,checkhang()和checklei()也比较重要,用来检查一个方块与另一个之间是否可通行,大家可以仔细研究一下。
Flash工具百宝箱
★关于学习用Flash做动画
几个最基础的内容你必须理解并学会如何使用。
①时间轴:让你的素材动起来就靠他了。
②工具:你需要使用这些工具绘制想要的素材。
③库:可以反复使用,用来做动画的原件就在这里。
④属性面板:设置Flash Player的版本、帧速等。
至于菜单里其他的内容,比如:设置色彩、设置变形等等,你会在学习的过程中慢慢接触,接触不到的基本不太常用。
★关于学习AS程序
学习AS1:《闪客梦工厂——FLASH MX网页动画宝典》,Flash MX (Flash 6)虽然是很老的版本,但对于Flash动画的结构和特点,其实是一直到现在都没变的。所以这本书中讲的内容,仍然适用于最新的Flash CS4 (Flash 10)。此外《Flash 8宝典》也不错。
《Flash 区块游戏开发》http://www.blueidea.com/tech/multimedia/2004/1892.asp读懂后你的水平会有极大的提高。本文作者当时看懂本文后,基本上所有的游戏类型都可以做了,很神奇。
学习AS2:《Flash MX 2004 ActionScript 2.0 与RIA应用程序开发》
学习AS3:《ActionScript3殿堂之路》
学习算法:《Flash MX 编程与创意实现》、《闪客实战 Flash高级编程》、《Flash Actionscript 3.0 动画教程》
玩代码?小Case!
本期开始“铺”代码了,有人晕了吗?这还没坐飞机、火车、轮船呢!放轻松,其实代码很可爱、很神奇!
在我们的便利生活背后,代码可是无名英雄。看懂一段代码,自己写出一段代码,实现一个小功能,那成就感不亚于解出一道数学难题!
游戏也是如此,本文特约作者原来只是一个美术发烧友、漫画积极分子,这不也把Flash编程语言玩得很转?了解一个游戏的算法,不管是用Java实现,还是用C实现,思路都是一样的,只是语法不同,有的是方脸,有的是圆脸罢了。相对于其他语言,Flash的AS3应该是最容易上手和最容易学习的,作为面向对象编程入门实在合适不过了,好好钻研,趣味无限哦!
Flash十几岁了,有了AS3这个魔杖,它变得异常强大,很多以前在java和C平台上的类库被移植到了AS3上,比如物理引擎、3D引擎等,可以让我们不用去了解高深的数学和物理知识,就能很容易地做出不可思议的互动。我们需要学习的只是如何调用那些类库提供的接口,那么下期就给大家仔细介绍吧!