求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,编译还通不过。
求解
先谢谢了
展开
 我来答
弱智小孩欢乐多
2011-04-13 · TA获得超过829个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:400万
展开全部
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年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,... 点击进入详情页
本回答由亚远景信息科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式