像往常一样编写ActionScript代码
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、雅安服务器托管、营销软件、网站建设、呼中网站维护、网站推广。
打开FlashDevelop(FD),创建项目FlipIt,FD会自动创建主程序Main类。不要急于编写主程序,为了让程序的结构更合理,可以先将其中某些功能分离出来,增强代码的灵活性。在这个游戏中,可以独立出来的一个对象就是棋子。
创建棋子类Grid
棋子是构成棋盘的基础。从面向对象编程的角度分析,每个棋子的使用方法完全相同,都支持翻转变色,每个棋子有自己的状态,不同的状态决定了其颜色。换句话说,棋子这个对象包含了一个处理翻转行为的方法和一个存放自身状态的属性。
根据上面的分析创建Grid类来表示棋子,如代码清单2-1所示。
代码清单2-1 棋子Grid类
- package
- {
- import flash.display.Graphics;
- import flash.display.Sprite;
- public class Grid extends Sprite
- {
- //棋子的值
- private var _value:Boolean;
- //圆的半径
- private var _radius:int;
- //id,即棋子在地图上的位置,用来寻找周围的棋子
- public var id:int;
- public function Grid( value:Boolean = false, radius:int = 30)
- {
- _value = value;
- _radius = radius;
- //获取初始值后,画圆
- draw();
- }
- //翻转棋子
- public function doFlip():void
- {
- //改变值,并重新绘制圆
- _value = !_value;
- draw();
- }
- //判断棋子是不是白色状态
- public function isWhite():Boolean
- {
- return _value == true;
- }
- //每次状态变化时,都调用draw进行重绘
- private function draw():void
- {
- var g:Graphics = graphics;
- g.clear();
- //如果当前值为true,则用白色作为填充色
- if ( isWhite() )
- {
- g.beginFill(0xFFFFFF);
- }
- else
- {
- g.beginFill(0x333333);
- }
- //画圆,并保证Sprite的注册点在原点
- g.drawCircle(_radius, _radius, _radius);
- g.endFill();
- }
- }
- }
Grid类中没有使用图片素材,只是动态绘制了一个圆来代表棋子。初次创建或调用doFlip方法后,若棋子的值发生变化,都会调用draw方法重新绘制圆,并改变填充色。属性id很重要,记录了棋子本身在棋盘上的编号,后面我们将通过id值来寻找它四周的棋子。
分享文章:AIRAndroid:创建棋子类Grid
文章位置:http://www.csdahua.cn/qtweb/news30/289780.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网