Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Смена значения переменной при обратном переходе с кадра на кадр (http://www.flasher.ru/forum/showthread.php?t=101913)

drobinkin 05.10.2007 00:49

Смена значения переменной при обратном переходе с кадра на кадр
 
Вложений: 1
При прямом переходе значение текстовой переменной нормально изменяется, т.е. я в нужных кадрах присваиваю ей определенное значение.
При ОБРАТНОМ переходе (по _prevFrame) - остается значение от предыдущего кадра до тех пор, пока не дойдешь до кадра, где НЕПОСРЕДСТВЕННО присваиваем очередное значение.
Чтобы было понятнее выкладываю исходник Вложение 17841
Обратите внимание, что при обратном переходе, например, с Категории 2 на Категорию 1 картинки уже идут из первой категории, а заголовок еще со второй.

Вопрос: можно ли как-то это дело обойти?
Одно из решений в том же исходнике, во второй сцене. Копируем кадры с присвоением значения в конец каждой области действия переменной.
Но это еще нормально, если кадров и переходов не много.
А если кадров очень много, и по ходу еще надо между ними что-то вставлять-добавлять? Как быть?
Сразу начинается жуткая запарка, даже если надо вставить один кадр.
Подскажите, будь ласка :)

Bорон 05.10.2007 01:16

это нормальная и логичная ситуация.
не надо это никак обходить.
надо учиться пользоватся клипами а не пихать все в один таймлайн.
намек понял?
или надо подробно и с примером?

drobinkin 05.10.2007 01:44

Ворон, то что ситуация "нормальная и логичная" — я прекрасно понимаю.
И про использование клипов тоже знаю и в следующей версии планирую перейти на них. Просто щас проект уже так разросся, что переделывать его при помощи клипов и т.д. займет много времени, а мне его вот-вот показывать надо. Начинался он с маленького и мне его проще было делать линейно, на одном таймлайне. Но в процессе работы добавилось дофига всего. Поэтому пытаюсь закончить как есть.
Мой вопрос не праздный, а для того, чтобы хот как-то облегчить себе выполнение задачи. Ну и в назидание потомкам, может быть :)

Но если ты серьезно насчет примера — можно небольшой, необязательно прямо подробно. Или ткни носом — где рыть.

Bорон 05.10.2007 01:52

у вас категории обладают произвольными названиями или отличаются только индексом?

drobinkin 05.10.2007 01:57

Вообще-то произвольные.
Подозреваю, что в начале можно инциализировать какй-нить строковый массив?

Bорон 05.10.2007 02:35

Ага.
Правильно подозреваешь.
Начало примера набросал, но заканчивать буду утром.
Так как иду спать :)

drobinkin 05.10.2007 02:37

Ок. Сенкс. Ал би вэйтинг.
И спокойной ночи :) Я ищо посижу

†‡Paladin‡† 05.10.2007 02:50

Хм. Думается можно действительно организовать массив всех значений одной переменной и сделать чтото вроде этого.
Код:

varArr:Array = [1, 2, 5, 19, 56];
arrIndex:Number = 0;
function moveForward(var:Number):Void {
  myVar = varArr[arrIndex++];
  gotoAndPlay(var);
}

И аналогично назад. И потом заместо готу юзать эту функцию.

drobinkin 05.10.2007 02:58

Я ваще использовал на кнопке
Код:

on(press){
        prevFrame();
        stop();
}

Туповато, конечно, не по-модному :)

Паладин, а ты имеешь ввиду, что потом что-то вроде

Код:

my_Button.onPress.moveForward(x) где х=1, 2, 5, 19, 56 ?

†‡Paladin‡† 05.10.2007 03:04

Нет var это номер след кадра в котором нужно менять переменную. Т.е. оно перейдет на нужный кадр и подставит в твою переменную следующее значение из массива по порядку. Можешь себе понаписать разновидностей ф-ции на все случаи жизни. Вариант nextFrame/prevFrame заместо готу.


Часовой пояс GMT +4, время: 16:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.