
求AS3代码解释,只有几句
privatefunctiondragTile(e:MouseEvent):void{vartile:Tile=Tile(e.currentTarget);if(tile...
private function dragTile(e:MouseEvent):void {
var tile:Tile = Tile(e.currentTarget);
if (tile.dragable) {
scene.setChildIndex(tile,scene.numChildren-1);
tile.startDrag();
}
}
var tile:Tile = Tile(e.currentTarget); 只有这一行看不懂,这是正确的代码。
Tile是一个自定义类,继承Sprite
此处声明一个类变量,为什么没用NEW关键字,他不是在声明?
另在前面初始化程序中已将此类实力化过了。此类需传2个参数。
按照我个人的理解,e.target或e.currentTarget所代表的已经是tile对象了
把程序中的tile替换成e.target,编译还通不过。
求解
先谢谢了 展开
var tile:Tile = Tile(e.currentTarget);
if (tile.dragable) {
scene.setChildIndex(tile,scene.numChildren-1);
tile.startDrag();
}
}
var tile:Tile = Tile(e.currentTarget); 只有这一行看不懂,这是正确的代码。
Tile是一个自定义类,继承Sprite
此处声明一个类变量,为什么没用NEW关键字,他不是在声明?
另在前面初始化程序中已将此类实力化过了。此类需传2个参数。
按照我个人的理解,e.target或e.currentTarget所代表的已经是tile对象了
把程序中的tile替换成e.target,编译还通不过。
求解
先谢谢了 展开
1个回答
展开全部
Tile(e.currentTarget); 是强制类型转换 相当于 var tile:Tile=e.currentTarget as Tile
追问
为什么需要强制转换?
当鼠标点击Tile对象的一个实例,那e.currentTarget所代表的不就是Tile对象吗?
追答
currentTarget 属性
currentTarget:Object [只读 (read-only)]
语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9
currentTarget:Object e.currentTarget 是个Object类型的 as3对类型限定比较严格 所以必须强转下类型

2024-12-11 广告
上海亚远景信息科技有限公司是国内汽车行业咨询及评估领军机构之一,深耕于ASPICE、敏捷SPICE、ISO26262功能安全、ISO21434车辆网络安全领域,拥有20年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,...
点击进入详情页
本回答由亚远景信息科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询