PDA

Просмотр полной версии : Не отображается Sprite


SSka
22.06.2007, 20:27
В флеше новичек, застрял на следующем..
Создаю Sprite, добавляю его.
Создаю Bitmap, добавляю его в спрайт.
И вуаля, в результате ничего не отображается.
Если добавлять Bitmap на прямую все замечательно видно.
Подскажите плз что я делаю не так, может я чего не дочитал :confused:

BigDan
22.06.2007, 20:29
может ты спрайт не вывел на экран?

SSka
22.06.2007, 20:40
если добавлять и выводить одно и то же, то вывожу )

//...
private var mysprite:Sprite;
private var myimg:Bitmap;
//...
private function add_img():void{
mysprite = new Sprite();
addChild(mysprite);
mysprite.width = 100;
mysprite.height = 100;
mysprite.x = 0;
mysprite.y = 0;
// ...
myimg = new Bitmap(bitdata);
mysprite.addChild(myimg);
}

etc
22.06.2007, 20:55
А где создание картинки?

__i
22.06.2007, 21:24
отступление от темы

если добавлять и выводить одно и то же, то вывожу )

...
mysprite.width = 100;
mysprite.height = 100;
...


Пока в спрайте ниче ненарисовано (заливка, нету детей) этот код совершенно бесмысленый!

SSka
22.06.2007, 21:56
2 __i Спасибо, выставление размера после добавления детей помогло

SSka
22.06.2007, 22:17
И еще одна проблема
Я програмно "склеил" картинку достаточно большого размера (6000х6000рх), и тут снова неожиданность, видимо графика автоматом конвертировалась в бмп.. флеш плеер кушает 180 Мб памяти.
Можно ли оптимизировать графику внутри флеш приложения, при условии что в дальнейшем мне не нужны внутренности этой картинки, я не буду ее модифицировать и т.д.

BigDan
22.06.2007, 22:35
можно изначально инфу о картинке загнать в двумерный массив, и потом работать с массивом(это будет быстрее, при таких размерах, чем непосредственно работать с BitmapData).

SSka
22.06.2007, 22:44
2 BigDan, можно, но было бы гораздо удобней работать с целой картинкой
Может все таки есть способ оптимизировать картинку ?

etc
22.06.2007, 22:45
Любой графический объект, отображаемый на экране, занимает оперативную память и хранится в ней в распакованном виде (а как же ещё?). Это действительно не только для флеша. В целом такую огромную картинку лучше как раз разбить на части и показывать только те, которые в данный момент находятся на экране.

SSka
22.06.2007, 22:48
2 __etc, спасибо за подробное обьяснение! Будем резать )

__i
24.06.2007, 03:07
2 __etc, спасибо за подробное обьяснение! Будем резать )
к тому же максимальный размер битмапдаты 2880х2880 больше никак

SSka
24.06.2007, 21:45
2 __i, это меня порадовало в первую очередь )
Поместил в спрайт 36 картинок 1000х1000, получилась илюзия большой картинки, но оказалось что нужно делать совсем наоборот )