Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Указание положения при attachBitmap (http://www.flasher.ru/forum/showthread.php?t=111130)

Роман Вадимович 16.04.2008 18:36

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

Подскажите пожалуйста возможно ли "приатачить" битмап в центр мувиклипа.
У меня задача - нужно поместить центр битмаповской картинки размером 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

Цитата:

Сообщение от iNils (Сообщение 733577)
Нельзя.

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

                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

мда (


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

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