Страница 1 из 1
Переход на случайный кадр без повторений
Добавлено: 08 авг 2012, 20:49
alexey979797
У меня весь код в кадрах и я хочу сделать переход на случайный кадр (например, чтобы на 5-15 кадре была кнопка, которая позволяет переходить по этим кадрам без повторений до того момента, пока не побываешь на всех кадрах, а после этого перейти на 16-ый кадр). У меня есть код, но он не совсем корректно работает:
Код: Выделить всё
stop();function shuffle(a,b):int {var num : int = Math.round(Math.random()*2)-1;return num;} var arr:Array= [];for(var i:int = 1; i <totalFrames; i++ ) {arr.push(i);} addEventListener (MouseEvent.CLICK, RandomUniqueFrame); function RandomUniqueFrame(e:MouseEvent):void{arr.sort(shuffle);arr.length != 0 ?gotoAndStop(arr[0]) : gotoAndStop(6);trace(currentFrame)arr.shift();}
Помогите, пожалуйста! Знаю, что писать код в кадрах плохо, так что не пишите об этом
Re: Переход на случайный кадр без повторений
Добавлено: 08 авг 2012, 21:16
gaponj88
alexey979797
Прекращай писать в кадрах, уйма альтернатив, причем грамотных и не сложных
Re: Переход на случайный кадр без повторений
Добавлено: 08 авг 2012, 21:18
alexey979797
gaponj88 писал(а):alexey979797
Прекращай писать в кадрах, уйма альтернатив, причем грамотных и не сложных
Я же просил не писать об этом. И так знаю. Потом буду переходить. Не переписывать же мне готовое приложение полносью
Re: Переход на случайный кадр без повторений
Добавлено: 08 авг 2012, 21:36
gaponj88
alexey979797Если знаешь, зря вопрос задал, разберись в себе, может что и получиться, больше я тебе не помогу
Re: Переход на случайный кадр без повторений
Добавлено: 09 авг 2012, 01:52
sanych_dv
gaponj88 писал(а):alexey979797
Прекращай писать в кадрах, уйма альтернатив, причем грамотных и не сложных
Совершенно верно. Не вижу никаких проблем вынести этот кусок кода в отдельный класс.
Re: Переход на случайный кадр без повторений
Добавлено: 09 авг 2012, 09:28
alexey979797
gaponj88, sanych_dv, если бы мне нужен был код в классе, то я бы так и написал.
Re: Переход на случайный кадр без повторений
Добавлено: 09 авг 2012, 12:54
sanych_dv
alexey979797 писал(а):gaponj88, sanych_dv, если бы мне нужен был код в классе, то я бы так и написал.
А что вы в таком случае вообще ждете? Что вас будут тут поддерживать в вашей безграмотности и писать для вас богопротивные костыли? )
Re: Переход на случайный кадр без повторений
Добавлено: 09 авг 2012, 20:08
alexey979797
sanych_dv писал(а):
А что вы в таком случае вообще ждете? Что вас будут тут поддерживать в вашей безграмотности и писать для вас богопротивные костыли? )
Хотя бы просто подсказать, где ошибка

Re: Переход на случайный кадр без повторений
Добавлено: 09 авг 2012, 20:54
gpv123
alexey979797 писал(а):Хотя бы просто подсказать, где ошибка
Просто в твоем примере в массив запихивается текущий кадр, после перехода на который код выполняется снова, сбрасывая предыдущие данные.
Код: Выделить всё
stop(); var arr:Array = [];for(var i:int = currentFrame + 1; i < totalFrames; i++) arr.push(i);arr.sort(function(a:*, b:*):Boolean{return Math.random() < .5}); stage.addEventListener(MouseEvent.CLICK, RandomUniqueFrame); function RandomUniqueFrame(e:MouseEvent):void{ if (arr.length != 0) { gotoAndStop(arr.shift()); } else { gotoAndStop(totalFrames); stage.removeEventListener(MouseEvent.CLICK, RandomUniqueFrame); } trace(currentFrame);}