Форум 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)
-   -   Дублирование мувика (http://www.flasher.ru/forum/showthread.php?t=135536)

Alonce 25.01.2010 20:29

Дублирование мувика
 
Собственно нужно сделать копию мувика, в который загружена картинка.
делаю так:

Код AS1/AS2:

import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.filters.ColorMatrixFilter;
 
this.createEmptyMovieClip("mc_mc",this.getNextHighestDepth());
 mc_mc._x =480;
 mc_mc._y =330;
mc_mc.loadMovie("4i.jpg");
this.createEmptyMovieClip("photoContainer", this.getNextHighestDepth());
var btD:BitmapData = new BitmapData(70, 70, false, 0x00C2D6E1);
photoContainer.attachBitmap(btD,this.getNextHighestDepth());
btD.draw(mc_mc, new Matrix(), null, "normal", null, true);

но не работает. Что не правильно?

udaaff 25.01.2010 20:49

Надо дождаться сначала окончания загрузки. MovieClipLoader в помощь.

mooncar 25.01.2010 20:49

Все неправильно.
Нужно использовать MovieClipLoader и соблюсти последовательность работы с битмапой.
По событию onLoadInit сделать draw с загруженного картинкой контейнера.
Примерно так:
Код AS1/AS2:

import flash.display.BitmapData;
 
var loader:MovieClipLoader  = new MovieClipLoader();
var listener:Object = new Object();
loader.addListener (listener);
loader.onLoadInit = function (target_mc:MovieClip) { //target_mc - это внутренни аргумент функции, указывает на мувик container
        var img:BitmapData = new BitmapData(target_mc._width, target_mc._height, false);
        img.draw (target_mc);
        copy_mc.attachBitmap (img, 0, 'auto', true);       
 
      //далее нужны действия по скрытию оригинала, если нужно и изменении свойств копии
      //все делается либо тут, либо отсюда стартуется нужная функция
      // target_mc._visible = false; либо target_mc.unloadMovie();
      // copy_mc._x  = ....
      //copy_mc._y  = ....
      //setProperties (copy_mc);
 
};
 
this.createEmptyMovieClip ('copy_mc', this.getNextHighestDepth());
loader.loadClip ('fileUrl', container);


Alonce 25.01.2010 21:01

спасибо, разобрался


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

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