Просмотр полной версии : Программируемый вывод кадров
boleslav
29.11.2008, 22:02
Есть ли такой метод во флеше, чтобы заставить 5 из 20 кадров проигрывать не подряд, а по команде.
Например: есть пять полей для ввода. Вводим в каждое поле по одному числу - 12, 18, 3, 14, 7. И далее, нажимая кнопку "Пуск", начинают последовательно проигрываться 12, 18, 3, 14 и 7-ой кадры.
darksranger
29.11.2008, 22:26
gotoAndStop(номер кадра) //gotoAndPlay(номер кадра)
boleslav
29.11.2008, 22:58
Но номера кадров будут динамически меняться - пользователь ввёл, к примеру, в поля другие цифры. Как привязать значение в этом поле к gotoAndStop(номер нового кадра)?
darksranger
29.11.2008, 23:14
var txt:TextField = crea.....
либо, если уже на сцене лежит
то txt, это instanse name в parametrs
gotoAndStop(txt.text)
где 'txt' текстовое поле
Mnilionic
30.11.2008, 02:01
var frames = new Array(); // массив кадров
var cur_frame_index = 0; // индекс текущего кадра в массиве
var mc = mc_ball; // клип который нужно проигрывать
mc.stop();
function play_sequence(){
// достаём из массива номер кадра и играем его )
var frame = frames[cur_frame_index++];
if (frame && frame <= mc._totalframes) mc.gotoAndStop(frame);
else delete mc.onEnterFrame;
}
btn_play.onPress = function(){
cur_frame_index = 0; // скидывыем индекс
// собираешь массив номеров кадров, которые нужно играть
/* либо из разных полей
frames.push(pole1.text);
frames.push(pole2.text);
frames.push(pole3.text);
frames.push(pole4.text);
либо из одного через зяпятую, к примеру
frames = pole.text.split(',');
главное быть внимательным и следить чтоб пользователь не ввёл каких нить левых значений
*/
frames = [5, 10, 2, 5];
mc.onEnterFrame = play_sequence;
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.