Форум 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)
-   -   Помогите подгрузить картинку при помощи BitmapData (http://www.flasher.ru/forum/showthread.php?t=108586)

Tochilin 24.02.2008 23:50

Помогите подгрузить картинку при помощи BitmapData
 
Привет.
Никак не могу разобраться с BitmapData.
Задача: Подгрузить из XML картинки и расположить их по кругу (типа как на циферблате часов - картинки вместо цифр либо как на рулеке в казино, не важно)

Я сделал подгрузку из XML - и каждую картинку повернул на определённый градус, в зависимости от количестка картинок. Так вот - они естественно при повороте потеряли в качестве и стали с гребенкой. Нужно использовать BitmapData - как?
Напишите плз код - если не трудно - с комментариями...

iNils 25.02.2008 00:37

http://www.flasher.ru/forum/showthread.php?t=103586

Tochilin 25.02.2008 10:33

Благодарю.

Tochilin 25.02.2008 13:25

Остался вопросик. Я разобрался как грузится картинка при помощи BitmapData.
Одну картинку подгрузил. Но Мне нужно несколько картинок подгрузить. (ну 3 к примеру, не важно, я буду брать их из XML)

Как мне это сделать.
Вот исходный код. Куда впихнуть цикл?

вот код
Код:

import flash.display.BitmapData;

var src:Array = Array("04.jpg", "05.jpg", "06.jpg");
var container:MovieClip=createEmptyMovieClip(container, getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
var loadListener:Object = new Object();


loadListener.onLoadInit = function(target_mc:MovieClip) {
        trace(target_mc);
        var tmpBmp:BitmapData = new BitmapData (target_mc._width,target_mc._height);
        tmpBmp.draw(target_mc);
    target_mc.removeMovieClip();
        var bmp_mc:MovieClip = createEmptyMovieClip(bmp_mc, getNextHighestDepth());
        bmp_mc.attachBitmap(tmpBmp, getNextHighestDepth(), "auto", true);       
};

        mcLoader.addListener(loadListener);
        mcLoader.loadClip(src[0], container);


Olegg 25.02.2008 13:43

mcLoader.loadClip(src[0], container); - вот это пихай в цикл

Tochilin 25.02.2008 13:54

Нет - не получается. Дело в том что у нас вначале создаётся мувик в который грузится картинка
Код:

var container:MovieClip=createEmptyMovieClip(container, getNextHighestDepth());
а потом он удаляется, при первой же итерации цикла
Код:

target_mc.removeMovieClip();
Получается нужно в цикл запихнуть ещё и
Код:

var container:MovieClip=createEmptyMovieClip(container, getNextHighestDepth());
Так?
Ваще как мне сделать много мувиков - ну то есть продублировать в цикле что ли, чтобы в итоге все картинки из массива появились на сцене..

Olegg 25.02.2008 13:59

а.ну тогда да.Не,ничо дублировать не надо,в параметрах цикла задай сколько у тебя картинок,столько раз и выполняй цикл.

Tochilin 25.02.2008 14:08

Вложений: 1
задал в цикле - но проблема не в этом. У меня не будут отображаться ВСЕ картинки, если я не буду создавать НОВЫЕ BitmapData для каждой картинки. Либо новые мувики надо создавать при каждой итерации цикла.

То есть я к тому что проблема не в том сколько раз выполнять цикл - а в том что нужно как то дублировать мувики, чтобы каждая след. подгружаемая картинка отображалась в НОВОМ мувиклипе.

Вот исходник.

Olegg 25.02.2008 14:39

ну так правильно,несколько раз создаёшь мувики и задаёшь каждому новое имя и смещение по координатам.Как-то так..
Код:

for(i:Number=0;i<3;i++) {
        var clip:MovieClip = this.createEmptyMovieClip ("pic_mc"+i,this.getNextHighestDepth());
        with(clip){
                _x +=10;
        }
}


Fernando Costa 25.02.2008 15:05

не учите человека старому коду
Код:

with(clip){
        _x +=10;
}

==
Код:

clip._x +=10;


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

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