WEB开发网
开发学院图形图像Flash [AS3]flash游戏开发中经常用到的类 阅读

[AS3]flash游戏开发中经常用到的类

 2012-02-06 12:13:54 来源:本站整理   
核心提示:object类当你创建一般对象时,你可以将任何类型的信息储存在该对象中;也可以用它来保存任何自定义方法.如:gameWorld=new Object();gameWorld.MaxSpeed=25;gameWorld.enemyArr=new Array();---Color类Color类,[AS3]flash游戏开发

object类

当你创建一般对象时,你可以将任何类型的信息储存在该对象中;也可以用它来保存任何自定义方法.
如:
gameWorld=new Object();
gameWorld.MaxSpeed=25;
gameWorld.enemyArr=new Array();

-------------------------------------------------------------------------------------------
Color类

Color类,一般用来改变游戏各种显示状态的颜色,如:根据血量的多少现实不同的颜色。

-------------------------------------------------------------------------------------------
Sound类

Sound类,游戏中一般用来处理各种交互时的声音。如:攻击时的声音。

-------------------------------------------------------------------------------------------
Mouse类

Mouse类,游戏中用来处理鼠标事件。
在flash中新建一个 mc元件,在该mc上加上以下代码。该mc就会跟随你的鼠标。
onClipEvent(enterFrame){
_x += (_root._xmouse - _x)/10;
_y += (_root._ymouse - _y)/10;
}
-------------------------------------------------------------------------------------------
Key类

Key类,游戏中用来处理按键事件。

if(Key.isDown(Key.LEFT)){
//人物向左移动
}
if(Key.isDown(Key.RIGHT)){
//人物向右移动
}
if(Key.isDown(Key.UP)){
//人物向上移动
}
if(Key.isDown(Key.SPACE)){
//人物攻击敌人
}

------------------------------------------------------------------------------------------
Math类

Math类,游戏中用来处理数学计算。

如:产生一个0~10的随机数(注意10是取不到的) var randNum=Math.random()*10
------------------------------------------------------------------------------------------
String类

String类,游戏中用来按一定要求操作字符窜
如:利用字符串的split()来分析数据包
拿一个聊天数据包作例
数据包格式为 t,I'm asFox
-----------
chatData:String="t,I'm asFox"//t标志是聊天信息,不同的信息可以用不同的标志区分,
myData=chatData.split(",")

for(var i=0 ;i if(myData[0]=="t"){
trace("这是一个聊天数据包");
trace("这是聊天内容"+myData[1]);
}
}

------------------------------------------------------------------------------------------
Array类

Array类,游戏中用来处理各种数组。
以下代码,就是使用数组来创建tile based 游戏的地图
screen_width = 224;//屏幕的宽度
screen_height = 208;//屏幕的高度

tile_width = 16;//砖块的宽度
tile_height = 16;//砖块的高度

tile_vert = screen_width/tile_width;//横向的转块数
tile_hort = screen_height/tile_height;//纵向的砖块数

//二维数组地图
map = [[10,10,10,10,10,10,10,10,10],
[10,10,10,10,10,10,10,10,10],
[10,10,10,10,10,10,10,10,10],
[10,10,10,10,10,10,10,10,10],
[10,10,10,10,10,10,10,10,10],
[10,10,10,10,10,10,10,10,10],
[10,10,10,10,10,10,10,10,10],
[10,10,10,10,10,10,10,10,10],
[11,10,10,10,10,10,10,10,11],
[11,10,10,10,10,10,10,10,11],
[11,10,10,28,29,30,10,10,11],
[13,13,13,13,13,13,13,13,13],
[13,13,13,13,13,13,13,13,13]];

this.attachMovie("empty","cont",1);//empty是一个连接名叫“empty“的空影片剪辑
for(y=0;y for(x=0;x var t = "tile"+x+"_"+y;
cont.attachMovie("tile",t,y*map[0].length+x);//向cont中添加砖块
cont[t]._x = x*tile_width;
cont[t]._y = y*tile_height;
cont[t].gotoAndStop(map[y][x]);//砖块跳到相应的帧。
}
}
------------------------------------------------------------------------------------------
XML类及XMLsocket

Tags:AS flash 游戏

编辑录入:coldstar [复制链接] [打 印]
赞助商链接