Просмотр полной версии : Глюк или ошибка? Программный скейл битмапа.
Dimonius
06.01.2004, 13:42
Вопрос, следующий. В пустой, програмно созданный мувиклип, грузится битмап. После загрузки битмап позиционируется и вот тут возникает проблема со свойствами _width и _height. Битмап проподает со сцены вообще.
Вот, собственно и код:
_root.createEmptyMovieClip("mef",150);
_root.createEmptyMovieClip("gm",100);
gm.loadMovie("map/map.jpg");
mef.onEnterFrame=function(){
BT=_root.gm.getBytesTotal();
BL=_root.gm.getBytesLoaded();
if(BT==BL){
_root.gm._yscale=90;
_root.gm._xscale=90;
_root.gm._x=100;
_root.gm._y=0;
// _root.gm._width=700;//если убрать комменты то не работает
// _root.gm._height=700;//если убрать комменты то не работает
this.removeMovieClip();
}
}
Мож потому, что одновременно скалишь
и устанавливаешь размер/хотя это конечно притянуто за уши :p /
Если поставить
//_root.gm._yscale=90;
//_root.gm._xscale=90;
что тоже пропадает?
Dimonius
06.01.2004, 16:01
:confused: Странно, я считал, что свойства запросто присваиваются все одновременно. Нонсенс, если окажется что не так.
рад бы помочь, да сам что то невъехал
Dimonius
06.01.2004, 20:45
Если грузить не битмап, а свф, то графики все-равно нет, но звук идет. Ничего не понимаю. :( Все ж вроде правильно?
trace( _root.gm._width) - 0
Даёт ширину пустого мувика, хоть ты тут перевернись.
Тебе, что скалить мало?
Скалится же нормально. :p
Вставить надо условие
if(_root.gm._width!=0){........
и всё получится.
Только ремовить вспомог.клип надо после выполн. условия. ;)
2K WebStudio
07.01.2004, 00:03
у меня тоже такая праблема с jpg возникала, вот посмотрел свой исходник, там прикольное решение:)
Я поставил изменение рзмеров, координат и масштаба в onEnterFrame, вроде всё работает!
Но там я использовал Stage, возможно, я делал это для этого объекта...
Если делать так, то можно сделать проверку и стереть лишнее!
xs=80;
ys=75;
this.onEnterFrame=function(){
mc._xscale=xs;
mc._yscale=ys;
if(mc._yscale==ys){..лучше проверять последнее назначение!
delete onEnterFrame;
}
А ещё, есть таккая штука, что куда бы ты не ставил строку loadMovie, он всё-равно выполнит загрузку после всего скрипта, дайте этому объяснение, а-то надоело жить с этой мыслью в голове!
так вот, отсюда следует, что можно поставить какой-нибудь "onLoad"? в кавычках, т.к. я такого не знаю для картинки!
Ну вот...
Nox Noctis
07.01.2004, 02:31
я плакать..
сколько можно уже..
ноль обычно равен нулю. при нормальном атмосферном давлении.
поэтому условие "if(BT==BL){" срабатывает сразу же при первой смене кадра
почему при этом пропадает битмап - хрен его знает.. в принципе установка этих свойств вообще не должна сработать, а тут получается фигня какая-то. но если поставить корректное условие, то все работает нормально
if(BL && BT && BT<=BL){
работает как часы. песочные.
Оригинал написал(а) Nox Noctis
я плакать..
Чего тут плакать - я ж написал/см.выше/
Вставить надо условие
if(_root.gm._width!=0){........
и всё получится
И никуда битмап не девается.
У Dimonius_а одна ошибка -
загрузился jpg и СРАЗУ ремовится клип,
который предлагает root.gm._width на запись.
Поэтому надо дополн.условие, при котором клип не только принял jpg, но и стал объектом с реальной шириной.
Кстати, onData вообще в этом случае работает мимо кассы. :p
2 Nox Noctis:
объясни плз это :rolleyes: :
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.