作者KawasumiMai (ご注文はうさぎですか)
看板Flash
标题Re: [问题]怎麽从as2转成as3?
时间Thu Jun 26 20:57:45 2014
※ 引述《bettyHo (betty)》之铭言:
: 谢谢大大!!!
: 但是试过後出现下面的错误讯息:
: TypeError: Error #1006: loadMovie 不是函数。
: at testtest_fla::all_1/frame2()
AS3没有loadMovie,那是AS2特有的方法
要load东西
要使用Loader
var loader:Loader=new Loader()
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaded)
loader.load(new URLRequese("xx.aa"))
: ※ 引述《bettyHo (betty)》之铭言:
: : 想询问各位大大
: : 下面这一段
: : 改怎麽转成as3?
: : onClipEvent (load)
: : {
: : xd = this._x;
: : }
: : onClipEvent (enterFrame)
: : {
: : this._x = this._x + (xd - this._x) * 2.000000E-001;
: : }
: : 我已经手动转过了
: : 失败了~~
: : = =
: : 自己转的结果:
: : var xd = this._x;
: : mmm.addEventListener(Event.ENTER_FRAME, doClick1);
: : function doClick1(e:Event):void{
: : this._x = this._x + (xd - this._x) * 2.000000E-001;
: : }
: : 哪里错了?
: : 抓头发中
原本onClipEvent
在AS2是挂在mc上的
所以那时候的this会是mc本身
但是AS3的EventListener是写在上一层的时间轴上的
所以在那个时间轴的this,就不会是mc,可能是stage或TimeLine
addEventListener要挂在物件上才有效果
不知道你的mmm是否就是mc本身
mmm.addEventListener(Event.ENTER_FRAME,doClick1)
(为什麽EnterFrame的function会叫doClick?)
function doClick1(e:Event){
//这里面的e是事件本身
//e.currentTarget则是呼叫的事件主,以这个例子来说等於mmm
//如果多个物件呼叫同一个function,可以利用e.currentTarget判断来源
var obj=e.currentTarget //方便取用
obj.x = obj.x + (xd - obj.x) * 2.000000E-001;
//obj.x相当於原本挂在上面的this.x
}
--
「贤いウサギには三つの穴がある。
一つは上に、あと二つは…」
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.109.83
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Flash/M.1403787468.A.CF3.html