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

Serge Dan 23.01.2010 12:19

Прописать разные ссылки для вложенных клипов в массиве
 
Здравствуйте, уважаемые спецы.

Вопрос такой:

Есть такая конструкция найденная здесь на сайте и адаптированная немного под мою задачу:

Код AS1/AS2:

this.onMouseUp  = function  () {
 
                if (this.b1.hitTest(_root._xmouse, _root._ymouse)) {
                        getURL("http://www.flasher.ru");
                }
                if (this.b2.hitTest(_root._xmouse, _root._ymouse)) {
                        getURL("http://www.google.com.ua");
                }
                if (this.b3.hitTest(_root._xmouse, _root._ymouse)) {
                        getURL("http://www.free-lance.ru");
                }               
        };

Ссылки тут так, от фонаря - для примера.

Вопрос такой. Можно ли упразднить вот этот повторяющийся код с хиттестом, если ранее уже задан массив вложенных мувов:

Код AS1/AS2:

var subMovies1 = [m1.b1, m1.b2, m1.b3];

Другими словами, как задать hitTest при onMouseUp для всех вложенных клипов сразу,
а getUrl для них прописать разный. Что-то вроде этого:
Код AS1/AS2:

this.onMouseUp  = function  () {
        for(var i in subMovies1){
if (subMovies1[i].hitTest(_root._xmouse, _root._ymouse)) {
// И вот здесь список ссылок для каждого вложеного клипа
}
}

Понимаю, что тут скорее всего элементарщина, но я не программист, основы изучать уже поздно, а разобраться нужно. Подскажите, пожалуйста как правильно, или, хотя бы, дайте ссылочку на материалы где об этом можно почитать. А то я что-то копал, копал... но видно вопросы гуглю неправильные задавал :)

Заранее спасибо!

Hauts 23.01.2010 13:30

Код AS1/AS2:

var clips = [a,b,c,d,e];
var links = ["http://ya.ru","http://ya.ru","http://ya.ru","http://ya.ru","http://ya.ru"];
function addLinks(clips, links){
    for(var i in clips){
        clips[i].link = links[i];
        //clips[i].onRelease = function(){
        //    getURL(this.link);
        //}
        clips[i].onMouseUp = function(){
            if(this.hitTest(_root._xmouse, _root._ymouse)){
                getURL(this.link);
            }
        }
    }
}
addLinks(clips, links)


Serge Dan 23.01.2010 15:13

Hauts, еще раз - огромное спасибо. Второй раз выручаете :)

Буду всем рекомендовать ;)


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

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