Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Динамическая настройка навигации (http://www.flasher.ru/forum/showthread.php?t=52713)

vadult 15.12.2003 17:12

Динамическая настройка навигации
 
На главной сцене есть мувиклипы которые назыв. соотв. but1, but2 ... but10
Хочу заставить их работать как кнопки, то есть при наведении на них было одно состояние, при отведении другое а при клике загружался линк который подгруж из внешн. текстового файла
Делаю так

loadVariablesNum("links.txt",0)
for (i=1; i<10; i++)
{
eval("_root.but" + i).onRollOut = function() {
this.gotoAndPlay("s2");
this.useHandCursor=false
};

eval("_root.but" + i).onRollOver = function() {
this.gotoAndPlay("s1");
this.useHandCursor=true
};

eval("_root.but" + i).onRelease = function() {
//this.getURL(eval("_root.link" + i));
//this.i=i;
trace("" + this.i);
};
}


RollOver и RollOut работают отлично а вот при клике на любой мувик загружается URL из переменной link10 (а должно при наж. на but1 загр. link1, but2 - link2 и т. д.)


если делаю так, то всё работает

_root.but4.onRelease = function() {
_root.getURL(_root.link4);
};

но желательно конечно делать это динамично


Подскажите как это реализовать и где трабл.

opex 15.12.2003 18:01

попробуй так

Код:

_root.onEnterFrame = function(){
for (i=1; i<10; i++)
{
    _root["but" + i].onRelease = function() {
    this.getURL(_root["link"+ i]);
  }
  }
 };
}

но я не уверен

vadult 15.12.2003 18:44

Всё равно не работает, при нажатии на любой movie clip переходит на ссылку которая хранится в link10

iLoveYou 15.12.2003 19:02

а ты дождался загрузки переменных?
или у тебя подряд идет:
loadVariablesNum("links.txt",0)
for (i=1; i<10; i++)
{.....

Nox Noctis 15.12.2003 19:04

Цитата:

Оригинал написал(а) Sergey"iLoveYou"
а ты дождался загрузки переменных?
http://demonscity.combats.ru/i/smile/agree.gif

vadult 15.12.2003 19:35

Шло подряд, я перенёс загрузку переменных в самое начало, но значение последней переменной link10 загружено, значит не в этом проблема

sergwizard 15.12.2003 20:32

Попробуй так:
Код:

links=[];
myVars = new LoadVars();
myVars.load("links.txt");
myVars.onLoad = function(success){
        if(success){
for(i=0;i<=10;i++){
links.push(this["link"+i]);
        }
}
}
MovieClip.prototype.act = function(){
        this.i = _root.i;
        this.onRollOver = function(){
                this.gotoAndPlay("s2");
                this.useHandCursor=false

        }
        this.onRollOut = function(){
                this.gotoAndPlay("s1");
                this.useHandCursor=true;
        }
        this.onRelease = function(){
        //                trace(links[this.i]);
                getURL(links[this.i]);
        }
}
for(i=0;i<=10;i++){
        _root["but"+i].act();
}

В текстовом файле:
link0=http://flasher.ru&link1=http://flashkit.com&link3=http://blah-blah.com и так далее.

sergwizard 15.12.2003 21:02

Или так:
Код:

loadVariablesNum("links.txt",0);
MovieClip.prototype.act = function(){
        this.i = _root.i;
        this.onRollOver = function(){
                this.gotoAndPlay("s2");
                this.useHandCursor=false

        }
        this.onRollOut = function(){
                this.gotoAndPlay("s1");
                this.useHandCursor=true;
        }
        this.onRelease = function(){
        //        trace(_root["link"+this.i]);
                getURL(_root["link"+this.i]);

        }
}
for(i=0;i<=10;i++){
        _root["but"+i].act();
}



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

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