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