Показать сообщение отдельно
Старый 29.07.2008, 00:54
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 1  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
По умолчанию Скопировать Shape используя ByteArray

Почти работает...
Код:
registerClassAlias("трансформ", Transform);
registerClassAlias("шейп", Shape);
var out_shape:Shape =  new Shape();
//var tranc:Transform = clone(out_shape.transform) as Transform;	
with (out_shape.graphics) {lineStyle(2, 0xaaaaff); beginFill( 0x11ff11, 1 );
moveTo(10,0);curveTo(-5,20,10,25);curveTo(25,20,10,0);endFill();}


var mov_2:Shape = clone(out_shape) as Shape;	

//addChild(mov_2);
function clone(source:Object):* {
		    var copier:ByteArray = new ByteArray();
		    copier.writeObject(source);
		    copier.position = 0;
		    return(copier.readObject());
		}
Выдает ошибку

ArgumentError: Error #1063: Argument count mismatch on flash.geom::Transform$iinit(). Expected 1, got 0.
at flash.utils::ByteArray/readObject()
at Untitled_fla::MainTimeline/clone()
at Untitled_fla::MainTimeline/Untitled_fla::frame1()

Чего то явно нехватает...
Как скопировать Shape используя ByteArray?