Создание видеороликов в CS3 для использования в FlashDevelop - PullRequest
0 голосов
/ 24 мая 2011

Я делаю игру в ActionScript, используя инструмент FlashDevelop и игровой движок FlashPunk. У меня есть дизайнер, делающий видеоклипы, которые я могу вставить в эту игру с помощью Flash CS3.

Моя проблема в том, что когда я добавляю эти клипы в свою игру, они играют намного быстрее, чем следовало бы. Существуют ли определенные клипы с частотой кадров в CS3 или какие-либо другие параметры экспорта, установленные для того, чтобы они могли воспроизводиться с правильной скоростью, или это то, с чем мне нужно иметь дело в моем коде. Если это последний, есть ли у кого-нибудь совет?

EDIT

Другая проблема, с которой я столкнулся, заключается в том, что команда movieClip.stop () не работает. Есть ли что-то особенное, что нужно делать при экспорте или программировании?

EDIT

Вот как я загружаю в свои swfs:

public var movieClip:MovieClip = new MovieClip();
private var myLoader:Loader;

public function MyMovieClip(location:String)
{
    myLoader = new Loader();
    var myRequest:URLRequest = new URLRequest(location);
    myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
    myLoader.load(myRequest);
}

private function onCompleteHandler(loadEvent:Event):void
{
    movieClip = loadEvent.currentTarget.content;
    FP.stage.addChild(movieClip);
}

Видеоклип запускается автоматически, и я пытаюсь остановить клип с помощью:

movieClip.stop();

EDIT

Я решил скопировать видеоклипы и заменить их на спрайт-листы, так как они также подойдут для роли, и я знаю, что я с ними делаю. Спасибо за помощь, хотя.

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Проверьте, какая частота кадров Flash установлена ​​и какая частота кадров FlashDevelop установлена. Первый может быть найден в окне свойств, когда ничего не выбрано, а второй находится в Project> Properties. Частота кадров во Flash по умолчанию равна 12, в то время как FlashDevelop по умолчанию равен 30, поэтому, если вы не установите частоту кадров вручную, анимация будет воспроизводиться намного быстрее в FlashDevelop.

0 голосов
/ 24 мая 2011

Я рекомендую сделать nextFrame вручную:

var timer:Timer = new Timer(500, 60); //calling onTick function every 0,5 sec for 1 minute
timer.addEventListener(TimerEvent.TIMER, onTick); 
...
public function onTick(e: Event) {
  movieClip.nextFrame();
}

. Для получения более подробной информации просмотрите Liveocs

...