Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Глюк или ошибка? Программный скейл битмапа. (http://www.flasher.ru/forum/showthread.php?t=53392)

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();
        }
}


Штрек 06.01.2004 15:44

Мож потому, что одновременно скалишь
и устанавливаешь размер/хотя это конечно притянуто за уши :p /
Если поставить
//_root.gm._yscale=90;
//_root.gm._xscale=90;
что тоже пропадает?

Dimonius 06.01.2004 16:01

:confused: Странно, я считал, что свойства запросто присваиваются все одновременно. Нонсенс, если окажется что не так.

nuran 06.01.2004 16:09

рад бы помочь, да сам что то невъехал

Dimonius 06.01.2004 20:45

Если грузить не битмап, а свф, то графики все-равно нет, но звук идет. Ничего не понимаю. :( Все ж вроде правильно?

Штрек 06.01.2004 21:07

trace( _root.gm._width) - 0
Даёт ширину пустого мувика, хоть ты тут перевернись.
Тебе, что скалить мало?
Скалится же нормально. :p

Штрек 06.01.2004 21:23

Вставить надо условие
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){

работает как часы. песочные.

Штрек 07.01.2004 03:38

Цитата:

Оригинал написал(а) Nox Noctis
я плакать..

Чего тут плакать - я ж написал/см.выше/
Вставить надо условие
if(_root.gm._width!=0){........
и всё получится
И никуда битмап не девается.
У Dimonius_а одна ошибка -
загрузился jpg и СРАЗУ ремовится клип,
который предлагает root.gm._width на запись.
Поэтому надо дополн.условие, при котором клип не только принял jpg, но и стал объектом с реальной шириной.
Кстати, onData вообще в этом случае работает мимо кассы. :p


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

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