数码资讯
FlashAS3教程:方向课和点类
点评:Flash AS3教程描述的那样:这outdisplay类,阐述了方向班点的更新部分的方法属性。 有关本例的教程,请注意第九个注释。 一个关于方向类和点类的实用教程即将问世,本文只解释了方向类和点的更新部分的方法属性。 首先 index.base.game.direction类 影响 Flas
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
点评:Flash AS3教程描述的那样:这outdisplay类,阐述了方向班点的更新部分的方法属性。
有关本例的教程,请注意第九个注释。
一个关于方向类和点类的实用教程即将问世,本文只解释了方向类和点的更新部分的方法属性。
首先
index.base.game.direction类
影响
Flash AS3教程描述的那样:这outdisplay类,说明方向班点的更新部分的方法属性。
有关本例的教程,请注意第九个注释。
一个关于方向类和点类的实用教程即将问世,本文只解释了方向类和点的更新部分的方法属性。
首先
index.base.game.direction类
角色:控制飞机游戏,坦克游戏,或一些方向相关的方向操纵。
Constructor:
公共职能方向(_area:interactiveobject,伊索勒河:布尔= false,_up:单位= 38,_down:单位= 40,_left:单位= 37,_right:单位= 39)。
参数1:方向键的作用区域。如果_area不是重点,那么不能监听键盘事件。一般来说,舞台被用作动作区域。
参数二:它是单向事件触发器,如果FALSE,什么键被按下,什么触发两个或两个事件在同一时间内,反之亦然,最后一个按键按下。
参数三、四、五、六:键键,分别为方向键的上下分别为38, 40, 37、39!
启动方法:
公共功能启动():无效
启动捕获事件,当构造函数被触发时,start方法将自动执行。
停止的方法:
公共功能停止():无效
停止捕获事件
setkey方法:
公共职能setkey(NUM:单元、变量:单元):无效
设置键键
参数1:方向键识别,请参阅类的常量属性。
参数二:键
恒定属性:
公共静态常量:单位= 0;
公共静态常量:单位= 1;
公共静态常量左:单位= 2;
公共静态常量右:单位= 3;
代表:方向键标识上下。
明确的方法:
公共职能清除():无效
清除所有方向记录
地区特性:
公共区域:interactiveobject VaR
返回区域
唯一的特性:
公共var
返回单向操作
directionevent.do事件:
当按下方向键时,它就会发出事件。事件包含4个属性,分别是上、下、左和右,它们分别指示按下哪个键。
==========线==========生你的气
在前面的注释中,点类曾经说过,这一次是更新类的方法和属性。
增加旋转属性,计算出在当前方向上一定距离后的点。
下面只能解释更新的方法和属性:其他的,请阅读旧的注释:
去的方法:
公共职能(Num:数,就是:布尔= false):点
参数1,表示在旋转方向上的前方距离
参数2,指示点坐标是否基于新点上的数字变化。
明确的方法:
公共职能清除():无效
清除绑定对象的引用
R的性质:
公共函数集R(编号:数字):无效
公共函数获取r():数字
的旋转属性的设置,如果islistener价值是真实的,改变旋转值的事件触发的r_change事件
方向类源代码:
代码:
包索引。基。游戏{
进口flash.events.eventdispatcher;
进口flash.events.keyboardevent;
进口flash.events.event;
进口flash.display.interactiveobject;
进口index.base.events.directionevent;
公共课方向延伸EventDispatcher {
{ / /方向}
公共静态常量:单位= 0;
公共静态常量:单位= 1;
公共静态常量左:单位= 2;
公共静态常量右:单位= 3;
区域
公共区域:interactiveobject VaR;
检查是否
公共var;
在左边和右边的键
私人directionar:const数组的数组(4);
是否上下
机车的_up:布尔=假;
机车的_down:布尔=假;
机车的_left:布尔=假;
机车的_right:布尔=假;
公共职能方向(_area:interactiveobject,伊索勒河:布尔= false,_up:单位= 38,_down:单位= 40,_left:单位= 37,_right:单位= 39){
面积= _area;
唯一=伊索勒河;
directionar { } = _up;
directionar {下} = _down;
directionar {左} = _left;
directionar {右} = _right;
开始();
}
获取事件
公共功能启动():无效{
Area.addEventListener(keyboardevent.key_down,onkeydown);
Area.addEventListener(keyboardevent.key_up,onkeyup);
Area.addEventListener(event.enter_frame,onEnterFrame);
}
事件帧传播触发器
私有函数onEnterFrame(E:事件):无效{
VaR Num:单位=数(_up)数(_down)数(_left)数(_right);
如果(数字= 0){
返回;
}
无功夜:directionevent =新directionevent(directionevent呢。);
eve.up = _up;
eve.down = _down;
eve.left = _left;
eve.right = _right;
dispatchevent(夜);
}
停止/获取事件
公共功能停止():无效{
Area.removeEventListener(keyboardevent.key_down,onkeydown);
Area.removeEventListener(keyboardevent.key_up,onkeyup);
Area.removeEventListener(event.enter_frame,onEnterFrame);
}
鼠标向下事件
私有函数时(E:移动):无效{
关键(妻子,真的)
}
鼠标上移事件/炸弹
私有函数onkeyup(E:移动):无效{
关键(妻子,假)
}
状态更改
专用功能键(Num:单元、下:布尔):无效{
开关(数字){
案例directionar { }:
如果(唯一)清楚();
_up =我;
打破;
案例directionar {下}:
如果(唯一)清楚();
_down =我;
打破;
案例directionar {左}:
如果(唯一)清楚();
_left =我;
打破;
案例directionar {右}:
如果(唯一)清楚();
_right =我;
打破;
}
}
设置按钮
公共职能setkey(NUM:单元、变量:单元):无效{
directionar { } =变量num;
}
空键
公共功能清除():无效{
_up = _down = _left = _right = false;
}
}
点类源代码:
代码:
包指标。基地。几何{
进口flash.events.eventdispatcher;
进口flash.display.displayobject;
进口index.base.events.dotevent;
公共课点延伸EventDispatcher {
机车的_x:数;
机车的_y:数;
机车的_r:数;
机车的DIS:DisplayObject;
公共变量islisten:布尔;
公共功能点(x_:数量= 0,y_:数量= 0,r_:数量= 0,_islisten:布尔= false){
_x = x_;
_y = y_;
_r = r_;
islisten = _islisten;
}
/ / DisplayObject的结合
公共函数绑定(_dis:DisplayObject,isintime:布尔= false):无效{
DIS = _dis;
更新();
如果(isintime)dis.addeventlistener(enterFrame
}
频繁事件框架
私有函数enterframefun(E:对象):无效{
如果(_x!= x);
如果(_y!(=);
如果(_r!= R = dis.rotation DIS旋转);
}
更新XY数据
公共功能更新(){:无效
如果(DIS)!= NULL){
_x =不X;
_y = Y DIS;
_r = dis.rotation;
}
}
一个点到一个距离方向的点的计算
公共职能(Num:数,就是:布尔= false):点{
更新();
VaR YX:数量= math.tan(_r * math.pi / 180);
无功tmpx:数量=数量/ math.sqrt(Math.pow(x,2)1);
无功tmpy:数量= tmpx * YX;
VAR:int =数(Math.abs(_r)<= 90)* 2 - 1;
风险点:点=新的点(_x tmpx×N,_y tmpy×N,_r);
如果(因为){
x = x;
y = y;
}
返回点;
}
距离/点和另一点的计算
公共功能(_dot:点,isquadrant:布尔= false):数量{
更新();
功民:数量= math.sqrt(Math.pow(_dot。X _x,2)math.pow(_dot。Y _y,2));
如果(!isquadrant)数= math.abs(努姆);
返回num;
}
通过计算时间点和水平角形成的点和其他点的计算
公共职能的角度(_dot:点,isradian:布尔= false):数量{
更新();
无功numx:数量= _dot X _x;
无功numy:数量= _dot Y _y;
功民:数量= math.atan(numy / numx);
如果(!isradian)数=数量* 180 / Math.PI;
返回num;
}
返回当前点是另一个点,其中象限或返回另一个点,在当前点的象限中。
公共函数象限(_dot:点,是大师:布尔= true):int {
更新();
如果(_x = = _dot。X | | { _y = = _dot。Y)
返回0;
}
变量:int;
VaR P1:布尔=(_x - _dot。x)> 0;
VaR P2:布尔=(_y - _dot。Y)> 0;
Num =是大师(P1(P2 2:3(P2):1:4)(P1(P2):4:1(P2):3:2));
返回num;
}
回到球场/ 0点距离
公共函数获取长度():{
更新();
功民:数量= math.sqrt(Math.pow(_x,2)math.pow(_y,2));
返回num;
}
显示对象
公共功能清除():无效{
空值;
}
更改/旋转
公共函数集R(编号:数字):无效{
_r =民;
如果(DIS)!= null)dis.rotation =民;
如果(islisten)dispatchevent(新dotevent(dotevent.r_change,真));
}
更改/旋转
公共函数获取r():{
更新();
返回_r;
}
更改坐标
公共函数集x(编号:):无效{
_x =民;
如果(DIS)!= NULL);
如果(islisten)dispatchevent(新dotevent(dotevent.x_change,真));
}
设置坐标
公共函数获取x():{
更新();
返回_x;
}
更改坐标
公共函数集y(编号:):无效{
_y =民;
如果(DIS)!= NULL);
如果(islisten)dispatchevent(新dotevent(dotevent.y_change,真));
}
设置y坐标
公共函数得到y():{
更新();
返回_y;
}
}
}
点评:Flash AS3教程描述的那样:这outdisplay类,阐述了方向班点的更新部分的方法属性。
有关本例的教程,请注意第九个注释。
一个关于方向类和点类的实用教程即将问世,本文只解释了方向类和点的更新部分的方法属性。
首先
index.base.game.direction类
影响
directionevent类的源代码:
代码:
包索引。
进口flash.events.event;
公共课directionevent延伸事件{
公共var:布尔;
公共var向下:布尔值;
公共var左:布尔;
公共var;
公共静态常量做:字符串;
公共函数DirectionEvent(类型:字符串){
超级(类型);
}
}
} dotevent类的源代码:
代码:
包索引。
进口flash.events.event;
公共课dotevent延伸事件{
公共静态常量x_change:字符串=交换;
公共静态常量y_change:字符串=ychange ;
公共静态常量r_change:字符串=rchange ;
公共函数DotEvent(类型:字符串、泡沫:布尔=假,可撤销:布尔= false){
超(类型、气泡、撤销);
}
}
}
有关本例的教程,请注意第九个注释。
一个关于方向类和点类的实用教程即将问世,本文只解释了方向类和点的更新部分的方法属性。
首先
index.base.game.direction类
影响
Flash AS3教程描述的那样:这outdisplay类,说明方向班点的更新部分的方法属性。
有关本例的教程,请注意第九个注释。
一个关于方向类和点类的实用教程即将问世,本文只解释了方向类和点的更新部分的方法属性。
首先
index.base.game.direction类
角色:控制飞机游戏,坦克游戏,或一些方向相关的方向操纵。
Constructor:
公共职能方向(_area:interactiveobject,伊索勒河:布尔= false,_up:单位= 38,_down:单位= 40,_left:单位= 37,_right:单位= 39)。
参数1:方向键的作用区域。如果_area不是重点,那么不能监听键盘事件。一般来说,舞台被用作动作区域。
参数二:它是单向事件触发器,如果FALSE,什么键被按下,什么触发两个或两个事件在同一时间内,反之亦然,最后一个按键按下。
参数三、四、五、六:键键,分别为方向键的上下分别为38, 40, 37、39!
启动方法:
公共功能启动():无效
启动捕获事件,当构造函数被触发时,start方法将自动执行。
停止的方法:
公共功能停止():无效
停止捕获事件
setkey方法:
公共职能setkey(NUM:单元、变量:单元):无效
设置键键
参数1:方向键识别,请参阅类的常量属性。
参数二:键
恒定属性:
公共静态常量:单位= 0;
公共静态常量:单位= 1;
公共静态常量左:单位= 2;
公共静态常量右:单位= 3;
代表:方向键标识上下。
明确的方法:
公共职能清除():无效
清除所有方向记录
地区特性:
公共区域:interactiveobject VaR
返回区域
唯一的特性:
公共var
返回单向操作
directionevent.do事件:
当按下方向键时,它就会发出事件。事件包含4个属性,分别是上、下、左和右,它们分别指示按下哪个键。
==========线==========生你的气
在前面的注释中,点类曾经说过,这一次是更新类的方法和属性。
增加旋转属性,计算出在当前方向上一定距离后的点。
下面只能解释更新的方法和属性:其他的,请阅读旧的注释:
去的方法:
公共职能(Num:数,就是:布尔= false):点
参数1,表示在旋转方向上的前方距离
参数2,指示点坐标是否基于新点上的数字变化。
明确的方法:
公共职能清除():无效
清除绑定对象的引用
R的性质:
公共函数集R(编号:数字):无效
公共函数获取r():数字
的旋转属性的设置,如果islistener价值是真实的,改变旋转值的事件触发的r_change事件
方向类源代码:
代码:
包索引。基。游戏{
进口flash.events.eventdispatcher;
进口flash.events.keyboardevent;
进口flash.events.event;
进口flash.display.interactiveobject;
进口index.base.events.directionevent;
公共课方向延伸EventDispatcher {
{ / /方向}
公共静态常量:单位= 0;
公共静态常量:单位= 1;
公共静态常量左:单位= 2;
公共静态常量右:单位= 3;
区域
公共区域:interactiveobject VaR;
检查是否
公共var;
在左边和右边的键
私人directionar:const数组的数组(4);
是否上下
机车的_up:布尔=假;
机车的_down:布尔=假;
机车的_left:布尔=假;
机车的_right:布尔=假;
公共职能方向(_area:interactiveobject,伊索勒河:布尔= false,_up:单位= 38,_down:单位= 40,_left:单位= 37,_right:单位= 39){
面积= _area;
唯一=伊索勒河;
directionar { } = _up;
directionar {下} = _down;
directionar {左} = _left;
directionar {右} = _right;
开始();
}
获取事件
公共功能启动():无效{
Area.addEventListener(keyboardevent.key_down,onkeydown);
Area.addEventListener(keyboardevent.key_up,onkeyup);
Area.addEventListener(event.enter_frame,onEnterFrame);
}
事件帧传播触发器
私有函数onEnterFrame(E:事件):无效{
VaR Num:单位=数(_up)数(_down)数(_left)数(_right);
如果(数字= 0){
返回;
}
无功夜:directionevent =新directionevent(directionevent呢。);
eve.up = _up;
eve.down = _down;
eve.left = _left;
eve.right = _right;
dispatchevent(夜);
}
停止/获取事件
公共功能停止():无效{
Area.removeEventListener(keyboardevent.key_down,onkeydown);
Area.removeEventListener(keyboardevent.key_up,onkeyup);
Area.removeEventListener(event.enter_frame,onEnterFrame);
}
鼠标向下事件
私有函数时(E:移动):无效{
关键(妻子,真的)
}
鼠标上移事件/炸弹
私有函数onkeyup(E:移动):无效{
关键(妻子,假)
}
状态更改
专用功能键(Num:单元、下:布尔):无效{
开关(数字){
案例directionar { }:
如果(唯一)清楚();
_up =我;
打破;
案例directionar {下}:
如果(唯一)清楚();
_down =我;
打破;
案例directionar {左}:
如果(唯一)清楚();
_left =我;
打破;
案例directionar {右}:
如果(唯一)清楚();
_right =我;
打破;
}
}
设置按钮
公共职能setkey(NUM:单元、变量:单元):无效{
directionar { } =变量num;
}
空键
公共功能清除():无效{
_up = _down = _left = _right = false;
}
}
点类源代码:
代码:
包指标。基地。几何{
进口flash.events.eventdispatcher;
进口flash.display.displayobject;
进口index.base.events.dotevent;
公共课点延伸EventDispatcher {
机车的_x:数;
机车的_y:数;
机车的_r:数;
机车的DIS:DisplayObject;
公共变量islisten:布尔;
公共功能点(x_:数量= 0,y_:数量= 0,r_:数量= 0,_islisten:布尔= false){
_x = x_;
_y = y_;
_r = r_;
islisten = _islisten;
}
/ / DisplayObject的结合
公共函数绑定(_dis:DisplayObject,isintime:布尔= false):无效{
DIS = _dis;
更新();
如果(isintime)dis.addeventlistener(enterFrame
}
频繁事件框架
私有函数enterframefun(E:对象):无效{
如果(_x!= x);
如果(_y!(=);
如果(_r!= R = dis.rotation DIS旋转);
}
更新XY数据
公共功能更新(){:无效
如果(DIS)!= NULL){
_x =不X;
_y = Y DIS;
_r = dis.rotation;
}
}
一个点到一个距离方向的点的计算
公共职能(Num:数,就是:布尔= false):点{
更新();
VaR YX:数量= math.tan(_r * math.pi / 180);
无功tmpx:数量=数量/ math.sqrt(Math.pow(x,2)1);
无功tmpy:数量= tmpx * YX;
VAR:int =数(Math.abs(_r)<= 90)* 2 - 1;
风险点:点=新的点(_x tmpx×N,_y tmpy×N,_r);
如果(因为){
x = x;
y = y;
}
返回点;
}
距离/点和另一点的计算
公共功能(_dot:点,isquadrant:布尔= false):数量{
更新();
功民:数量= math.sqrt(Math.pow(_dot。X _x,2)math.pow(_dot。Y _y,2));
如果(!isquadrant)数= math.abs(努姆);
返回num;
}
通过计算时间点和水平角形成的点和其他点的计算
公共职能的角度(_dot:点,isradian:布尔= false):数量{
更新();
无功numx:数量= _dot X _x;
无功numy:数量= _dot Y _y;
功民:数量= math.atan(numy / numx);
如果(!isradian)数=数量* 180 / Math.PI;
返回num;
}
返回当前点是另一个点,其中象限或返回另一个点,在当前点的象限中。
公共函数象限(_dot:点,是大师:布尔= true):int {
更新();
如果(_x = = _dot。X | | { _y = = _dot。Y)
返回0;
}
变量:int;
VaR P1:布尔=(_x - _dot。x)> 0;
VaR P2:布尔=(_y - _dot。Y)> 0;
Num =是大师(P1(P2 2:3(P2):1:4)(P1(P2):4:1(P2):3:2));
返回num;
}
回到球场/ 0点距离
公共函数获取长度():{
更新();
功民:数量= math.sqrt(Math.pow(_x,2)math.pow(_y,2));
返回num;
}
显示对象
公共功能清除():无效{
空值;
}
更改/旋转
公共函数集R(编号:数字):无效{
_r =民;
如果(DIS)!= null)dis.rotation =民;
如果(islisten)dispatchevent(新dotevent(dotevent.r_change,真));
}
更改/旋转
公共函数获取r():{
更新();
返回_r;
}
更改坐标
公共函数集x(编号:):无效{
_x =民;
如果(DIS)!= NULL);
如果(islisten)dispatchevent(新dotevent(dotevent.x_change,真));
}
设置坐标
公共函数获取x():{
更新();
返回_x;
}
更改坐标
公共函数集y(编号:):无效{
_y =民;
如果(DIS)!= NULL);
如果(islisten)dispatchevent(新dotevent(dotevent.y_change,真));
}
设置y坐标
公共函数得到y():{
更新();
返回_y;
}
}
}
点评:Flash AS3教程描述的那样:这outdisplay类,阐述了方向班点的更新部分的方法属性。
有关本例的教程,请注意第九个注释。
一个关于方向类和点类的实用教程即将问世,本文只解释了方向类和点的更新部分的方法属性。
首先
index.base.game.direction类
影响
directionevent类的源代码:
代码:
包索引。
进口flash.events.event;
公共课directionevent延伸事件{
公共var:布尔;
公共var向下:布尔值;
公共var左:布尔;
公共var;
公共静态常量做:字符串;
公共函数DirectionEvent(类型:字符串){
超级(类型);
}
}
} dotevent类的源代码:
代码:
包索引。
进口flash.events.event;
公共课dotevent延伸事件{
公共静态常量x_change:字符串=交换;
公共静态常量y_change:字符串=ychange ;
公共静态常量r_change:字符串=rchange ;
公共函数DotEvent(类型:字符串、泡沫:布尔=假,可撤销:布尔= false){
超(类型、气泡、撤销);
}
}
}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。