Re: [問題] 隨機撥放Movie上的影格
※ 引述《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
推
02/01 22:20, , 1F
02/01 22:20, 1F
→
02/01 22:21, , 2F
02/01 22:21, 2F
→
02/01 22:21, , 3F
02/01 22:21, 3F
→
02/01 22:22, , 4F
02/01 22:22, 4F
→
02/01 22:23, , 5F
02/01 22:23, 5F
→
02/01 22:24, , 6F
02/01 22:24, 6F
推
02/01 22:27, , 7F
02/01 22:27, 7F
→
02/01 22:28, , 8F
02/01 22:28, 8F
→
02/01 22:29, , 9F
02/01 22:29, 9F
→
02/01 22:30, , 10F
02/01 22:30, 10F
推
02/01 22:42, , 11F
02/01 22:42, 11F
→
02/01 22:43, , 12F
02/01 22:43, 12F
推
02/01 22:52, , 13F
02/01 22:52, 13F
推
02/01 23:01, , 14F
02/01 23:01, 14F
→
02/01 23:11, , 15F
02/01 23:11, 15F
推
02/01 23:12, , 16F
02/01 23:12, 16F
→
02/01 23:13, , 17F
02/01 23:13, 17F
→
02/01 23:20, , 18F
02/01 23:20, 18F
→
02/01 23:25, , 19F
02/01 23:25, 19F
→
02/01 23:29, , 20F
02/01 23:29, 20F
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章