PDA

Просмотр полной версии : Поменять размер подгружаемого jpg


CROL
28.08.2008, 16:53
Как мне поменять ._height и ._width подгружаемых картинок?

MrPoma
28.08.2008, 17:09
Загрузать с помощью MovieClipLoader и менять размер по событию onLoadInit.

CROL
28.08.2008, 17:24
function loadXML(loaded) {
if (loaded) {
xmlPics = this.firstChild;
url = [];
about = [];
total = xmlPics.childNodes.length;
for (i=0; i<total; i++) {
url[i] = xmlPics.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPics.childNodes[i].childNodes[1].firstChild.nodeValue;
informer.loadMovie("pic/"+url[i])
var clip:MovieClip = createEmptyMovieClip("container"+[i], getNextHighestDepth());
var informer:MovieClip = clip.createEmptyMovieClip("informer", 1);
var mcLoader:MovieClipLoader = new MovieClipLoader();
clip._x = i*120;
mcLoader.addListener(mclListener);
mcLoader.loadClip("pic/"+url[i], informer);
mclListener.onLoadInit = function() {
informer._width = 100;
informer._height = 100;
};
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("pic.xml");
что не так?

MrPoma
28.08.2008, 17:40
Нету: var mclListener:Object = new Object();

Зачем это тогда informer.loadMovie("pic/"+url[i])?
MovieClipLoader'а достаточно одного.
Я бы избавился от цикла.

CROL
28.08.2008, 17:46
И как бы вы сделали? можно поинтересоваться?)

UPDATE
function loadXML(loaded) {
if (loaded) {
xmlPics = this.firstChild;
url = [];
about = [];
total = xmlPics.childNodes.length;
for (i=0; i<total; i++) {
url[i] = xmlPics.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPics.childNodes[i].childNodes[1].firstChild.nodeValue;
var clip:MovieClip = createEmptyMovieClip("container"+[i], getNextHighestDepth());
var informer:MovieClip = clip.createEmptyMovieClip("informer", 1);
var mcLoader:MovieClipLoader = new MovieClipLoader();
clip._x = i*120;
var mclListener:Object = new Object();
mcLoader.addListener(mclListener);
mcLoader.loadClip("pic/"+url[i], informer);
mclListener.onLoadInit = function() {
informer._width = 200;
informer._height = 100;
};
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("pic.xml"); все равно не работает =(

MrPoma
28.08.2008, 17:53
http://flasher.ru/forum/showthread.php?t=113921&highlight=%EF%EE%F1%EB%E5%E4%EE%E2%E0%F2%E5%EB%FC%ED%EE

CROL
28.08.2008, 18:09
а почему мой код не работает? не подскажешь

MrPoma
28.08.2008, 18:18
А что выдает подставленный в разных местах trace()?

CROL
28.08.2008, 18:28
function loadXML() {
xmlPics = this.firstChild;
url = [];
about = [];
total = xmlPics.childNodes.length;
for (i=0; i<total; i++) {
url[i] = xmlPics.childNodes[i].childNodes[0].firstChild.nodeValue;
about[i] = xmlPics.childNodes[i].childNodes[1].firstChild.nodeValue;
var clip:MovieClip = createEmptyMovieClip("container"+[i], getNextHighestDepth());
var informer:MovieClip = clip.createEmptyMovieClip("informer", 1);
var mcLoader:MovieClipLoader = new MovieClipLoader();
clip._x = i*120;
trace("good"+[i])
var mclListener:Object = new Object();
mcLoader.addListener(mclListener);
mcLoader.loadClip("pic/"+url[i], informer);
mclListener.onLoadInit = function() {
trace("not good"+[i])
informer._width = 100;
informer._height = 100;
};
};
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("pic.xml");
в аутпут:
good0
good1
good2
good3
not good4
not good4
not good4
not good4
...
почему в OnLoadInit все i = 4?

Kamchatka
28.08.2008, 18:33
Цикл уже закончился, а загрузка ещё идёт. По окончании оной i естественно будет 4

CROL
28.08.2008, 18:43
:umnik2::wacko::eek:
и как быть?

Kamchatka
28.08.2008, 18:49
я не знаю, но можно переехать в другой город.

MrPoma
28.08.2008, 18:50
clip.i = i;

CROL
28.08.2008, 18:56
MrPoma это для чего?

MrPoma
28.08.2008, 19:00
Чтобы каждый onLoadInit выдавал свой идентификатор.

CROL
28.08.2008, 19:25
каким образом? вы можете ткнуть на строчки в коде где нужны изменения, ну а если вы сами поправите код был бы очень признателен... ибо мозг сегодня туго соображает, вы уж извените