Re: [問題] 關於ENTER_FRAME 物件逐次消失
※ 引述《terrywang (拼)》之銘言:
: var mc:MovieClip;
: mc.visible = true;
: mc._txt.text.visible = true;
基本上visible跟enabled就算沒有特別宣告
也會預設是true的狀態
因為不可能拉進來預設看不到
: myTime = getTimer();
import flash.utils.getTimer;
: for (var i:int=0; i<15; i++)
: {
: mc = new aa();
: this.addChild(mc);
: mc._txt.text = '' +(1+i);
: mc.x = 30+(i%5)*mc.width * 2;
: mc.y = 50 + int(i / 5) * mc.height * 2;
: this.addEventListener(Event.ENTER_FRAME,invisble);
: //顯示物件的大小位置,而後再對物件做ENTER_FRAME
這裡提到enterFrame的對象是 物件
但是這裡的this呢?是哪個對象?
不知道的話可以trace(this)看看
: //以求物件可以逐步的一個個隱藏
: }
: function invisble(e:Event)
invisible?
: {
: nowTime = getTimer();
: //上面nowTime的設定是參考範例 不知為何會被判定未定義的屬性
: var sec = Math.floor((nowTime-myTime)/1000);
: //我設定物件一秒做一次動作
這裡有個問題,你的myTime一開始就抓值了
接著就算成功對物件作enterFrame
短短的for迴圈15趟就已經幾乎同時完成(對人來說)
然後每個物件在一秒之後都判定sec>=1
所以會同時產生,接著在一秒之後同時消失
: mc._txt.text = '' +(1+i);
: //因為mc._txt.text是在for迴圈,為了避免找不到,所以在這邊再做一次設定
這一行沒有發生任何錯誤嗎?
function invisible裡面
你沒有宣告任何i
而且就算宣告了也不會跟for一樣
直接重複一次也不是正確的做法
: if (sec >= 1)
: {
: mc.visible = false;
: mc._txt.text = false;
: }
上面的mc都有一個問題
你的"mc"本身都是在呼叫完aa之後就扔掉了
對於function來說就算你在外面有宣告mc
隨著for迴圈的完成,mc就會是最後一個物件
也就是function invisible幾乎都只有判定最後一個物件
前面的14個是絕對沒有反應的
: }
: 因為還在練習,所以有很多概念都寫的不好,希望各位先進可以給予一些提示
: 謝謝你們 M(_ _)M
1.
物件是可以宣告附屬值的
例如你宣告個mc
mc.x跟mc.y是因為座標所以被取走了
你可以弄個mc.t=60之類的
2.
另外針對物件作enterFrame
當下應該是mc.addEventListener才對
那裏的this估計應該會是stage本身
你做了15次addEventListener
3.
然後function invisible裡面
可以設定每個frame都讓mc.t-1
if(mc.t<=0)更改visible之類的
而且既然_txt在mc裡面
老實說更改她的visible有點多此一舉
畢竟就算她的visible是true
mc的visible是false你也看不到
4.
關於function invisible裡面
那個e:Event不是放假的
如果針對mc.addEventListener之類的
那麼對於"每個"function invisible
(對每個物件來說都是獨立的)
只要在裡面寫上e.currentTarget就代表呼叫function的物件本身
舉個例子
var a:MovieClip
var b:MovieClip
a.addEventListerner(Event.ENTER_FRAME,invisible)
b.addEventListerner(Event.ENTER_FRAME,invisible)
function invisible(e:Event){
e.currentTarget.x+=1
}
這樣a跟b就會同時每個frame都往右移
5.
如果你不是進行無限期的動作
而是在時間到改變visible之後就沒用了
建議你在if(sec>=1)裡面
加上個removeEventListener的動作
不然算是浪費記憶體
==
以上
加油吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.208.31
※ 編輯: AizawaYuuiti 來自: 140.121.208.31 (04/20 19:30)
※ 編輯: AizawaYuuiti 來自: 140.121.208.31 (04/20 19:30)
推
04/21 10:02, , 1F
04/21 10:02, 1F
推
04/21 10:07, , 2F
04/21 10:07, 2F
→
04/21 10:08, , 3F
04/21 10:08, 3F
→
04/21 23:50, , 4F
04/21 23:50, 4F
→
04/21 23:54, , 5F
04/21 23:54, 5F
→
04/22 02:50, , 6F
04/22 02:50, 6F
→
04/22 10:52, , 7F
04/22 10:52, 7F
推
04/23 10:11, , 8F
04/23 10:11, 8F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Flash 近期熱門文章
PTT數位生活區 即時熱門文章