Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   копирование объекто (http://www.flasher.ru/forum/showthread.php?t=57191)

Alessanderovez 19.04.2004 09:59

копирование объекто
 
я всё понимаю про вашу реакцию ивидев этот вопрос, но прошу понять меня и помочь чем можете......
у меня есть объекты на определённом кадре.
на первом же кадре я выбираю какой объект мне нужен из списка имеющихся (это я сделал), но как сделать так чтобы тот объект (который мы выбираем) не сам перемещался, а его копия плюс со всеми свойствами родителя, но при этом все новые объекты(созданные) должны получить уникалное имя.
Пробовал с duplicateMovie но ни фига не получается, как ещё-то????????я уже запапрился делать это вторую неделю, помогите пожал-ста-)!!!!!!!!!!!!!!!!!!!!!!!!!
заранее благодарен!!!!!!!!!

Dindin 19.04.2004 11:49

Что ты понимаешь под наследованием свойств? Какие свойства имеет объект? В чем проблема с duplicateMovie? А лучше всего - исходник выложи :)

Iv 19.04.2004 12:02

1) объект и мувиклип - разные вещи. то ты выбираешь объект, а потом копировать собираешься мувиклип...
2) что значит со свойствами родителя? это если мувик в руте, то со свойствами рута? или все-таки со свойствами мувиклипа-образца?

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

да простят меня ООП боги.
итак, вознеся хвалу за хороший урожай, поехали:
выбранный мувиклип - _root.main_mc
желаем получить _root.instance1_mc (в следующем кадре? странно это)
main_mc залинкован в библиотеке под именем "main_mc"

_root.obj_container = {}
_root.counter = 0
_root.max_depth = 0

_root.main_mc.onRelease = function () {
var i = ++_root.counter
var obj = _root.obj_container ["obj"+_root.counter] = {}

// это Linkage-имя в библиотеке, ты должен его задать:
obj.linkage_name = this.linkage_name


obj._name = "instance"+i+"_mc"

// копируем нужные свойства
obj._x = this._x
obj.any_property = this.any_property
// .............................. и т. д.

}

в итоге после клика на main_mc в _root.obj_container образуется объект с уникальным именем.

и раз оочень нужно все делать во втором кадре, то идем во второй кадр,


for (i in _root.obj_container) {
_root.max_depth ++
_root.attachMovie(_root.obj_container[i].linkage_name, "", _root.max_depth, _root.obj_container[i])
}

вот. примерно так

Alessanderovez 19.04.2004 12:16

ну в смысле у меня есть изображения мостов, шлюзов, концентраторов и т.д. и выполнил в флэше я в виде кнопок, т.к. мне надо их таскать по рабочей области(составлять из них схемы межсетевого взаимодействия)

Dindin 19.04.2004 12:22

BitSky достаточно точно ответил на твойс вопрос - при дублировании (прикреплении) мувиклипа можно передавать параметры вновьсозданному мувиклипу одним объектом. (либо его элементами,
Код:

_root.attachMovie('linkageName','instanceName', depth,{param1: value, param2: value...})
В общем то то же самое, но у BitSky, имхо, лучше - он передает все параметры в заранее созданном объекте.

Iv 19.04.2004 12:23

:D

Iv 19.04.2004 12:26

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

Alessanderovez 19.04.2004 12:30

спасиба огромное всем :) !!!!!!

Alessanderovez 19.04.2004 12:33

Вы шибко то не смейтесь я с флэшем не владах пока ещё, я на дельфях всё время работал :cool: :)

Iv 19.04.2004 12:35

соррь если обидел... не желал того.
не знание не порок. порок нежелание учиться.
все придет.

Alessanderovez 19.04.2004 12:37

да ладно чё там ....всё равно спасибо огромное!!!!!!!!!!! :)

Dindin 19.04.2004 12:39

2BitSky, честно говоря, то как я пишу на форуме и для дела - две большие разницы, ибо скрипты у меня в конечных продуктах идут через __bytecode__()
:) А этого народ, я думаю, не поймет.

2Alessanderovez над тобой не смеются, просто Bitsky радуется "удивительной и нерушимой солидарности флэшеров" :)

Alessanderovez 19.04.2004 13:01

да ладно чё там ....всё равно спасибо огромное!!!!!!!!!!! :)


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

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