展会信息港展会大全

创建Grid类来表示棋子android游戏开发
来源:互联网   发布日期:2016-01-19 12:03:53   浏览:966次  

导读:棋子是构成棋盘的基� 4用嫦蚨韵蟊喑痰慕嵌确治觯?扛銎遄拥氖褂梅椒ㄍ耆?嗤??贾С址??渖??扛銎遄佑凶约旱淖刺??煌?淖刺?龆?似溲丈?;痪浠� 说,棋子这个对象包含了一个处理翻转行为的方法和一个 ...

棋子是构成棋盘的基矗从面向对象编程的角度分析,每个棋子的使用方法完全相同,都支持翻转变色,每个棋子有自己的状态,不同的状态决定了其颜色。换句话 说,棋子这个对象包含了一个处理翻转行为的方法和一个存放自身状态的属性。

像往常一样编写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值来寻找它四周的棋子。

赞助本站

人工智能实验室

相关热词: 游戏开发

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港