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

RSovets 09.08.2007 17:56

Загрузка изображений
 
Если подобная тема уже есть, извиняюсь, не нашел.
дело в том, что мне нужно загрузить в переменную картинку, желательно в массив, а потом, после определенных нажатий пользователя(не в новых кадрах а в этом), чтобы она показалась в одном из мувклипов.
сейчас я пишу вот так
small - массив, который содержит в себе адреса картинок. весь массив читается из xml файла

код примерно выглядит так
Код:

smal2._alpha = 100;
smal2.loadMovie(small[p], 1);
smal3._alpha = 50;
smal3.loadMovie(small[p + 1], 1);
smal4._alpha = 50;
smal4.loadMovie(small[p + 2], 1);
smal5._alpha = 50;
smal5.loadMovie(small[p + 3], 1);
smal6._alpha = 50;
smal6.loadMovie(small[p + 4], 1);
smal7._alpha = 50;
smal7.loadMovie(small[p + 5], 1);
smal8._alpha = 50;
smal8.loadMovie(small[p + 6], 1);
smal9._alpha = 50;
smal9.loadMovie(small[p + 7], 1);

изначально запускаю с p = 0;
все картинки грузятся, все хорошо, потом к примеру меняю на p = 1;
и все картинки снова грузятся с самого начала, даже те, которые уже до этого грузились, подскажите пожалуйста, как исправить эту проблему, тоесть сделать так, чтобы если картинка уже грузилась, чтобы он не грузилась второй раз?

etc 09.08.2007 18:10

RSovets, отредактируйте свой пост и оформите код тегами [code][/code].

Usnul 09.08.2007 19:27

недостаточно кода, но вообще, увеличивая "p" ты смещаешь индекс в массиве адресов, так что ты заставляешь клипы грузить "другие" картинки. Скажем small13 теперь грузит не элемент 1 (p=0 => 0+1=1) а элемент 2 (p=1 => 1+1=2) тоесть совершенно другое изображение. Вообще, я бы советовал воздержаться от лишних инициаций загрузки, у тебя проблема скорее всего в этом. Ах, да, еще, если тебе нужно манипулировать позициями картинок, лучше манипулируй позициями самих клипов в которых они загружены нежеле адресами, по указанной выше причине.

RSovets 09.08.2007 19:46

просто дело в том что у меня около 50 картинок, а место для них всего лишь в ряду для семи,
при нажатии на кнопку p меняется, и картинки сдвигаются
подскажите, как сделать тогда лучше?

CrazyFlasher 09.08.2007 19:56

ужас а не код...для чего существуют циклы? Неужели нельзя хотя бы так сделать?

Код:

n = 50;
z = 1;
for (i = 0; i <= 50; i++){
  this["smal" + i]._alpha = 50;
  this["smal" + i].loadMovie(small[p + z], z);
  z++;
}

+ ко всему, забудьте старые кострукции типа loadMovie. Есть удобный и более функциональный MovieClipLoader

Usnul 09.08.2007 23:26

читать введение в програмирование, основные конструкции изучи, если уж пошла речь о циклах.

RSovets 10.08.2007 10:11

с циклами то я все понимаю, но все равно спасиьбо что напомнили. Просто в данный момент, все пока для наглядности, у меня самая основная проблема именно в том что-бы изображения кешировались.
теперь понял что мне нужно научится обращатся с MovieClipLoader, но ничего не получается.
проблема в том, что он сразу же грузит в объект. и к тому же на предзагрузку всех 50 картинок у меня не хватает объектов.
мне нужно как то загрузить сначала картинку, а только после действий пользователя показать её в определенном объекте.
как это сделать?


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

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