看板 Flash 關於我們 聯絡資訊
※ 引述《oj113068 (橘子汁)》之銘言: : 檔案在此~@ @ : http://www.datafilehost.com/download.php?file=4f20b2c9 : 我想要問的是,我想利用亂數的方式讓一個物件隨撥放他的影格 : 畫面上的物件實體名稱做叫 a : 內共有五格,目前每一格先用數字作測試~@ @ 分別是12345 : 並在影片內的每一格加上stop~ : 因此fla檔的第一格我是寫 : var p = 0; : onEnterFrame = function () { : p = random(5); : }; : if (p == 1) { : _a.play(1); : } : if (p == 2) { : _a.play(2); : } : if (p == 3) { : _a.play(3); : } : if (p == 4) { : _a.play(4); : } : if (p == 5) { : _a.play(5); : } : 但是撥放出來以後沒有反應 : 想請問我的寫法哪裡有錯誤~@ @ : 我以為是層級的問題,不過加上root也沒反映 : 不好意思,我是胡亂自學的,如果有什麼錯的很爆笑的地方請見諒Orz : 先感謝回答<(_ _)> 首先: if判斷式請寫在function裡面,這樣才能每次都判斷一次 其次 play() 是播放 gotoAndPlay(影格編號) 才是跳到某格播放(我建議你用gotoAndStop) 再來 你場景上並沒有一個名為 _a 的物件 ,你要命名 最後,我覺得你這樣寫並不好,我改寫你的程式 onEnterFrame = function () { _root._a.gotoAndStop(Math.floor(Math.random()*5)+1); } 就這三行就ok了 說明一下: 自從flash5之後, random不再建議使用,請改用Math.random 但是此函數會傳回大於等於0到小於1之間的小數( 即 0<=Math.random()<1 ),所以我乘以五, 變成0~5之間(不會有五) 再用Math.floor()函數,這是無條件捨去,只剩下整數,最後加1 就會產生範圍在1~5之間的整數了 建議你去買一本ActionScript的入門書來看,不過你用flash8,是ActionScript2 現在FlashCS3 已經用ActionScript3了,兩者差很多 看你要不要升級用CS3,因為以後用AS3語法是主流~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.113.61
oj113068:囧a 原來我忘記命名~||| 02/01 22:20
Jerrynet:XD~ 02/01 22:21
oj113068:你笑我!!!囧... 02/01 22:21
oj113068:事實上呢,會出現五個if,是因為我只學到if Orz 02/01 22:22
oj113068:嗯,我的AS是看一些檔案+問會得同學~Orz 非常不喜歡用書 02/01 22:23
oj113068:學軟體←缺乏耐心>____<" 02/01 22:24
oj113068:而且我老是看不懂F1的說明,可能基礎太差了 02/01 22:27
Jerrynet:我沒有笑你啦~我以前也常發生這種事,這很正常阿XD 02/01 22:28
Jerrynet:F1的說明初學者可能要花比較多時間才能看懂,因為一堆 02/01 22:29
Jerrynet:專有名詞,很多書都會解釋,而且用範例引領還不錯~@@ 02/01 22:30
oj113068:Orz 好....其實我偶爾也會在書局翻找有沒有比較基礎的書 02/01 22:42
oj113068:但是一直沒有認真想 囧> 02/01 22:43
oj113068:總之,感謝兩位的幫忙<( _ _")> 02/01 22:52
oj113068:請問一下,要是我要控制的是MC裡面的MC呢?@ @ 02/01 23:01
Jerrynet:那就MC裡的MC再取名,例如b ,則_root.a.b就是了 02/01 23:11
oj113068:原來實體名稱不用加底線~> <" 02/01 23:12
oj113068:成功了耶~好開心~謝謝你~>/////</ 02/01 23:13
Jerrynet:不客氣XD 02/01 23:20
oj113068:( ′▽`)-o█ 要卡片嗎?(喂) 02/01 23:25
Jerrynet:囧rz 02/01 23:29