Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Обращение к свойствам Bitmap (http://www.flasher.ru/forum/showthread.php?t=108395)

Torero 21.02.2008 06:03

Обращение к свойствам Bitmap
 
Доброго времени суток.
Возникла проблемка небольшая: Подскажите пожалуйста, почему я не могу добраться до свойств объекта Bitmap(), обращаясь к нему через getChildAt?
Код:

        var bm:Bitmap=new Bitmap(new BitmapData(100,100,false,0x00FF00));
        bm.x=100;
        addChild(bm);
        bm.smoothing=true;
        //getChildAt(0).smoothing=true;  //вываливается в ошибку

P.S.Сразу приношу извинения за код в кадре - вопрос, похоже, примитивный.
P.P.S. Модераторам: переименуйте пожалуйста топик в "Обращение к свойствам Bitmap()" - я плохо название сформулировал.

MerlinTwi 21.02.2008 10:24

Код:

(getChildAt(0) as Bitmap).smoothing=true;

Pecher 21.02.2008 10:26

Компилер не знает, что childAt(0) - это Bitmap.
Код:

Bitmap(getChildAt(0)).smoothing = true;

etc 21.02.2008 10:43

Pecher, для кастинга есть оператор as.

Torero 21.02.2008 16:01

Большое спасибо. С вашего позволения еще 1 вопрос на тему битмапов:

A BitmapData object can be drawn to the screen by a Bitmap object in one of two ways: by using the vector renderer as a fill-bitmap shape, or by using a faster pixel-copying routine. The pixel-copying routine is substantially faster than the vector renderer, but the Bitmap object must meet certain conditions to use it:

-No stretching, rotation, or skewing can be applied to the Bitmap object.
-..
-..

- это кусок из хелпа. Подскажите пожалуйста как его понимать в следующей ситуации:

1.есть объект BitmapData() в котором отрисован прямоугольник
2.есть 10-100 объектов Bitmap(), ссылающихся на вышеупомянутый BitmapData()
3.У некоторых из объектов Bitmap() изменены .scaleX и .rotation, к некоторым применен colorTransform - для них что, рендерер создает свои BitmapData()??
P.S.В реале, в BitmapData отрисован не прямоугольник, а нечто, состоящее из 20-25 шейпов, поэтому и использую BitmapData+много Bitmap, а не отрисовываю вектор.

silin 21.02.2008 16:30

непонятно что смущает : все битмапы несут ссылку на один и тот же битмапДата, но отрисовывают его уже как кому надо..

Torero 21.02.2008 17:11

Смущает непонимание того каким образом Bitmap(), основывающийся на BitmapData() отрисовывается посредством !!vector!! renderer-а. Это тупизм какой-то. Как такое вообще возможно? Ведь, по-идее, BitmapData() и vector-renderer вещи несовместимые.

etc 21.02.2008 17:15

Цитата:

Сообщение от Torero
Ведь, по-идее, BitmapData() и vector-renderer вещи несовместимые.

Bitmap не является наследником BitmapData.

LinuxVideo 21.02.2008 17:30

Похожий вопрос: а как форсировать faster pixel-copying routine? Дабы всегда был только он?

silin 21.02.2008 17:38

имхо об этом и речь в приведенной тобой цитате: если битмап должен показать картинку без трансформаций, то можно по быстрому тупо скопировать все пиксели в экран, а если картинка повернута/погнута/пофильтрена, то по простому уже не проходит - нужны более ресурсоемкие алгоритмы..
не знаю точно, но думаю что vector renderer здесь условное понятие, во всяком случае не вижу смысла заморачиваться на этом


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

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