PDA

Просмотр полной версии : Указание положения при attachBitmap


Роман Вадимович
16.04.2008, 18:36
Привет всем!

Подскажите пожалуйста возможно ли "приатачить" битмап в центр мувиклипа.
У меня задача - нужно поместить центр битмаповской картинки размером 8х8 пикселей в центр мувиклипа.

Скажите возможно ли такое сделать?

divinus
16.04.2008, 18:46
bitmap._x = (clip._width - bitmap._width)>>1;
bitmap._y = (clip._height - bitmap._height)>>1;

Роман Вадимович
16.04.2008, 18:51
import flash.display.BitmapData;

// Красный квадратик
var myBitmapData:BitmapData = new BitmapData(8, 8, true, 0xFFFF0000);

// Мувиклип
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());

// Присоединение битмапа
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());

На сколько я вижу - у битмапа нет имени.
Я могу только сместить положение клипа, но для моей задачи, это в сожалению непозволительно.

iNils
16.04.2008, 18:57
Я могу только сместить положение клипа, но для моей задачи, это в сожалению непозволительно.Клип в клипе тоже нельзя двигать?

Роман Вадимович
16.04.2008, 19:03
:)
Сделать клип в клипе и присоединить к последнему битмап можно. Просто таких объектов у меня будет очень много и появятся "торможения".

Просто я так и не понял, можно ли перемещать битмап в клипе (задавать для него _х и _y) ?
Если можно, скажите как к нему обратиться?

iNils
16.04.2008, 21:28
Нельзя.

toFlash
08.10.2008, 12:13
Нельзя.

Ну почему же, можно! примерно так:

var srcName1:String = "BackgroundSettingOne";
var bitmapDate:BitmapData;
var bitmapDate2:BitmapData=new BitmapData(640,500,true,0x00CCCCCC);

bitmapDate = BitmapData.loadBitmap(srcName1);
bitmapDate2.copyPixels(bitmapDate, new Rectangle(0, 0, 640, 500),
new Point(0, 107) // вот тут как раз и можно задать нужную координату смещения
);
trace(bitmapDate instanceof BitmapData); // true
bitmapDate.dispose() // удаляем временный контейнер с картинкой
this.attachBitmap(bitmapDate2,2,"auto", true)

Может кому пригодится ;)

iNils
08.10.2008, 13:06
Нельзя. То что вы сделали, это сместили изображение в битмапе, а не сам битмап.
Попробуйте вашим способом сдвинуть картинку размером 640x500 на координату (640,500) или (-100,-100)

Волгоградец
08.10.2008, 13:19
Допустим у меня картинка 10х10 пикселов. И чтобы ее сдвинуть вы предлагаете создать битмапу размером с экран и соответственно забрать память под эту битмапдату. А если у меня 100 таких картинок? 100 разных битмап дат создавать? Не рационально.

toFlash
08.10.2008, 14:44
мда (