![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2006
Сообщений: 9
|
Больно не пинайте...
Вот наваял свой attachMovie: function AttachMovie(Lincage:Object, NewName:String, At:Number, _Xx:Number, _Yy:Number, parentMc:Object):Object{ var ChildMc:Object = Lincage; ChildMc.name = NewName; parentMc.addChild(ChildMc); ChildMc.x = _Xx; ChildMc.y = _Yy; return parentMc.getChildByName(NewName); } for(var i=0;i<5;i++){ var mcItem:MovieClip = AttachMovie( new baseMс(), "ini_"+i, i, 10, i*60, this); mcItem.buttonMode = true; ......... } Чем опасен етот код? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Код безумный.
|
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
А зачем возвращать через getChildByName?
Переменная At не используется и по-хорошему типа int должна быть. Именование и типизация переменных оставляет желать лучшего. Вместо Object используйте DisplayObject и DisplayObjectContainer. Это для начала.
__________________
Griver |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 9
|
![]() У меня в старом проэкте очень много используется attachMovie. Пытаюсь минимзировать кодинг. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
У вас должно быть примерно так
function attachMovie (linkage:DisplayObject, x:Number, y:Number, parentMc:DisplayObjectContainer):DisplayObject { linkage.x = x; linkage.y = y; parentMc.addChild (linkage); return linkage; } for (var i=0; i<5; i++){ var mcItem:MovieClip = attachMovie (new baseMс (), 10, i * 60, this) as MovieClip; mcItem.buttonMode = true; ......... } Последний раз редактировалось iNils; 29.01.2009 в 16:15. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Можно так:
|
|
|||||
|
4AM Games
|
function attachMovie(movie:DisplayObject, container:DisplayObjectContainer, init:Object = null):DisplayObject { var result:DisplayObject = container.addChild(movie); if(init) { for(var propertyName:String in init) { try { result[propertyName] = init[propertyName]; } catch(e:Error) { trace('You Bloody Moron, there is no such property, motherfucker!'); } } } return result; } ![]()
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ Последний раз редактировалось Nirth; 29.01.2009 в 16:59. |
|
|||||
|
если уж дословно, то
public function attachMovie(id:String, name:String, depth:Number, initObject:Object) : MovieClip { var res:MovieClip; var cl:Class = getDefinitionByName(id) as Class; try { res = MovieClip(this.addChildAt(new cl(), int(depth))); res.name = name; for ( var param:String in initObject) { res[param] = initObject[param]; } }catch(err:Error){} return res; } телТаржетов у вас в проекте не используется случаем ?, а то давайте и их сюда подтянем.. ![]() Последний раз редактировалось silin; 29.01.2009 в 21:00. |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 9
|
Пасибо всем!!!!
Не одному мне помогли, я думаю ... танкс |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|