Страница 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 писал(а): А что вы в таком случае вообще ждете? Что вас будут тут поддерживать в вашей безграмотности и писать для вас богопротивные костыли? )
Хотя бы просто подсказать, где ошибка :cry:

Re: Переход на случайный кадр без повторений

Добавлено: 09 авг 2012, 20:54
gpv123
alexey979797 писал(а):Хотя бы просто подсказать, где ошибка :cry:
Просто в твоем примере в массив запихивается текущий кадр, после перехода на который код выполняется снова, сбрасывая предыдущие данные.

Код: Выделить всё

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);}