Форум 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)
-   -   LoadClip (http://www.flasher.ru/forum/showthread.php?t=90280)

kabazoo 07.01.2007 19:01

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


теперь проблема:
Как програмно присвоить действие кнопке-превьюшке я понял:
Код:

for(i=1;i<7;i++){
        _root.["mc"+i].onPress = function() {
          loadImage(i+".jpg");
        }

А вот как заставить, к примеру, при нажатии на mc3 грузить имеенно 3.jpg - вообще не могу понять...

Хух. Надеюсь более менее понятно выразился..
Жду советов..

iNils 07.01.2007 19:06

А loadImage это вобще что такое?

kabazoo 07.01.2007 19:09

функция(пользовательская) которая будет загружать непосредтвенно требуемую картинку

iNils 07.01.2007 19:16

Понятно, тогда так:
Код:

for (i = 1; i < 7; i++) {
        _root["mc" + i].i = i;
        _root["mc" + i].onPress = function () {
                loadImage (String (this.i) + ".jpg");
        };
}


kabazoo 07.01.2007 19:19

iNils, спасибо , пробуем-с ..

kabazoo 07.01.2007 19:47

Вообщем трабл актуален..
Таким образом оно то работает, он только что созданный метод onPress не работает при инициализации loadClip :(
Попытался сделать вот так:
Код:


function create_eclips() {
        for (i=1; i<7; i++) {
                _root.createEmptyMovieClip("mс"+i, i);
        }
}
function loadthumbs(mc, im_count) {
        mcLoader = new MovieClipLoader();
        mcLoader.addListener(this);
        mcLoader.loadClip(im_count, mc);
        _root["mc"].i = im_count;
        _root["mc"].onPress = function() {
                loadImage(String(this.i)+".jpg");
        };
}

function loadImage(pic_name){
        //процедура загрузки кратинок, аналогичная
        //loadthumbs
        }


create_elips();
for (i=1; i<7; i++) {
        loadthumbs("mc"+i, i);
}

, но загружается лишь последняя картинка... :(

kabazoo 07.01.2007 19:50

причем, самая главная непонятка в том , что если сделать вот так:

Код:

_root["mc"].onPress = function() {
trace(String(this.i)+".jpg");
};


и нажимать на каждую кнопку , трейсить будет "1.jpg", "2.jpg" - >то есть как и надо ..

iNils 07.01.2007 20:08

Я вообще не понимаю как у вас что то там работает.
1. "mc"+i - это не MovieClip, это String
2. Функция create_eclips, а вызываете create_elips
3. _root["mc"] - а это что такое? mc из параметров? Тогда пишется так: _root.mc. Хотя лучше полный путь передавать сразу.
Что то вроде этого:

Код:

function create_eclips () {
        for (i = 1; i < 7; i++) {
                _root.createEmptyMovieClip ("mс" + i, i);
        }
}
function loadthumbs (mc, im_count) {
        mcLoader = new MovieClipLoader ();
        mcLoader.addListener (this);
        mcLoader.loadClip (im_count, mc);
        mc.i = im_count;
        mc.onPress = function () {
                loadImage (String (this.i) + ".jpg");
        };
}
function loadImage (pic_name) {
        //процедура загрузки кратинок, аналогичная
        //loadthumbs
}
create_eclips ();
for (i = 1; i < 7; i++) {
        loadthumbs (_root["mс" + i], i);
}

Только onPress надо назначать после завершения загрузки или использовать контейнер для загрузки внутри клипа.

kabazoo 08.01.2007 03:22

Да я ,блин, после четырехчасовых мучений сам уже раму не оч. свожу что к чему :)

Вообщем сделал, немножко адаптировал мувик к первой подсказке - сработало :)


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

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