Форум 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=85427)

Serbis 22.09.2006 00:03

Не понял
 
Код:

if (ProductPage == true){
        _root.gotoAndPlay(109);
  }
if (AboutPage == true){
        _root.gotoAndPlay(99);
}

Ну понятно что если активна первая переменная то должно кидать в одно место, а если друга то в другое... не работает, всевремя кидает на 99ый кадр...

iNils 22.09.2006 00:15

А если активны обе, то кидает на 99.

На самом деле лучше делать не флаг для страницы, а одну переменную, значение которой равно индексу страницы

Допустим есть 5 страниц, анимация для которых начинается с кадров 0, 50, 75, 99, 100 соответственно. А pageIndex хранит индекс таблицы.
Тогда надо создать массив для храннения кадров:
Код:

arrayPage = [0, 50, 75, 99, 100];
И указать активную страницу
Код:

pageIndex = 3;
Теперь для переход достаточно сделать так
Код:

gotoAndPlay (arrayPage[pageIndex]);

Serbis 22.09.2006 01:06

Стоп стоп стоп, я еще пока очень неопытен во флеше, разве массив создется не так:
Код:

var Page:Array=new Array(99, 108);
Просто тот способ который вы предложили не работает, хотя он понятен.

iNils 22.09.2006 01:14

Вы абсолютно правы по поводу метода создания массива, но есть и второй способ который я описал. И он работает. Вот простой пример
Код:

arrayPage = [0, 50, 75, 99, 100];
trace (arrayPage[2]);

На выходе будет 75

AL.exe 22.09.2006 01:22

А если так:

Код:

if (ProductPage == true){
        _root.gotoAndPlay(109);
  }
else if (AboutPage == true){
        _root.gotoAndPlay(99);
}

Может, просто второй вариант тоже проверился (хотя не должен).

AL.exe 22.09.2006 01:24

Насчет массива:

имхо, удобнее взять ассоциативный массив или даже обычный объект-контейнер.
Тогда константам можно будет задать информативные имена и не помнить цифровой индекс каждой страницы =) А о вдруг понадобится..

Serbis 22.09.2006 01:25

А что по поводу
Код:

pageIndex = 3;
Понятно что он делает, только немногу непонятен синтаксис


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

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