2015-12-22 3 views
-3

В моей игре у меня три отверстия (MovieClips), и я хочу, чтобы каждый раз (из 20 раз) крыса (MovieClip) была над одним из этих отверстий.Как показать MovieClip случайно в ActionScript 3?

Как я могу это сделать?

+0

Не могли бы вы дополнительно объяснить, чего вы хотите достичь, может быть, с примером (может быть рисунок). Можете ли вы также опубликовать то, что вы уже пробовали? Пожалуйста, прочитайте http://stackoverflow.com/help/mcve о том, как задать хороший вопрос. –

+0

@DeviMandasari Я попытался переформулировать ваш вопрос, чтобы быть более ясным, надеюсь, что я сделал это правильно. – akmozo

+0

Спасибо за ваш правильный GerritBertier. Спасибо за ваше исправление, и вы можете переформулировать мой вопрос, чтобы быть более ясным. Akmozo –

ответ

0

Есть много способов, чтобы достичь того, что вы хотите. Одно из решений может заключаться в том, чтобы иметь невидимую графику крысы, и вы делаете ее видимой каждые X секунд.

// the array has all the hole movieclips 
var allHoles:Array = new Array('hole1_mc','hole2_mc', 'hole3_mc'); 

// show a rat 20 times every 2 seconds 
var myTimer:Timer = new Timer(2000,20); 
myTimer.addEventListener(TimerEvent.TIMER, showRat); 
myTimer.start(); 

function showRat(e:Event):void{ 
    // choose a random hole 
    var rand = Math.floor(Math.random()*3); 
    var randomHole = allHoles[rand]; 

    rat_mc.visible = true; 
    rat_mc.x = randomHole.x; 
    rat_mc.y = randomHole.y; 
} 
+0

спасибо за ваш ответ @Kokodoko, я уже попробовал, но ошибка. вывод ReferenceError: Ошибка # 1069: Свойство x не найдено в String, и значение по умолчанию отсутствует. \t в cobaaaaa_fla :: MainTimeline/showRat() \t в flash.utils :: Таймер/_timerDispatch() \t на flash.utils :: Таймер/тик(). Что мне делать? –

+0

Опечатка: массив должен быть: новый массив (hole1_mc, hole2_mc, hole3_mc); вместо того, чтобы содержать строки. Вы можете скачать FLA здесь: https://goo.gl/ch0mdQ – Kokodoko

+1

Вау ... большое спасибо @Kokodoko. Это полезно. –

Смежные вопросы