Посетить кадр один раз? - PullRequest
1 голос
/ 11 марта 2012

Мне было интересно, есть ли код, который может заставить вспышку распознавать, если определенный кадр уже посещен.Есть ли способ сделать это?Я думал о создании функции, которая отслеживает кадр, когда игрок уже один его.Я хочу, чтобы функция запрещала вход в этот кадр после его просмотра один раз.

Ответы [ 4 ]

1 голос
/ 11 марта 2012

Actionscript 3 не заботится о кадрах.Это только вспышка, которая делает.

Поэтому я бы предложил сохранить глобальный массив посещенных фреймов и заполнить его номерами фреймов.

0 голосов
/ 01 апреля 2012

Попробуйте что-нибудь подобное. Установите массив такой же длины, как ваш мувиклип, в кадрах, все инициализированы как false.

var framesVisited:Array = [];

// since we're talking about frame numbers here, start at 1 instead of 0 like 
// you normally might.
for(var i:int = 1, ilen:int = this.totalFrames ; i <= ilen ; i++){
   framesVisited[i] = false;
}

Теперь, каждый раз, когда вы посещаете фрейм, убедитесь, что его соответствующая позиция массива установлена ​​в true.

framesVisited[this.currentFrame] = true;

Теперь в вашей функции, чтобы проверить, был ли посещен фрейм, просто верните значение массива.

public function hasFrameBeenVisited(frameNumber:int):Boolean{
    return Boolean(framesVisited[frameNumber]);
}
0 голосов
/ 19 марта 2012

Как насчет отключения или удаления опции возврата к завершенному кадру? т.е. если есть кнопка назад / вперед. Просто перейдите на следующую страницу и отключите или удалите кнопку возврата. Трудно дать хороший совет, не зная, чего вы пытаетесь достичь.

0 голосов
/ 11 марта 2012

В коде кадра (я предполагаю, что вы кодируете в кадрах):

var visited:Boolean;

if (visited) return;
visited = true;

//... do frame actions
...