PDA

Просмотр полной версии : как в директоре сделать duplicate?


pol
28.11.2002, 20:01
во флаше знаю, а в директоре нет :(
надо сделать как во флаше:

while(i<>100) {
duplicateMovieClip("a","a"+i,i)
n=eval("a"+i)
n._x=200
n._y=20*i
i++
}

причем, мувик "а" состоит из 3 мувиков и кнопки.
как ето пишется?
можно ли сделать member из нескольких обьектов?
количество duplicate мувиков не ограничевается

repeat while(i<>100)
member(1).duplicate(10+i)
member(10+i).loc=point(200,20*i)
i=i+1
end repeat

неработает. почему?

Sanctor
05.12.2002, 16:35
Ты хочешь размножить мемберы или спрайты на сцене?

pol
05.12.2002, 17:34
da

KorneKrabb
15.09.2004, 16:31
народ ! плиз разъясните какова между ними разница ?
между спрайтами и мемберами ?
в каких случаях следует member(1).... а в каких sprite(1).... ?

llllllllll
15.09.2004, 16:36
member (ака символ) - это то что у тебя в cast'е (ака библиотеке), sprite - это member который положили на stage и соответсвенно на score (ака таймлайн) ...

KorneKrabb
15.09.2004, 17:00
llllllllll, как я понял в Директоре нет вложенных в символы(мемберы) скриптов. а можно их [скрипты] в касте заведомо к мемберам цеплять. и можно ли программно создавать/дублировать спрайты (=экземпляры?) прямо из Каста ?

П.С. больно не бейте 2 дня директором занимаюсь....

llllllllll
15.09.2004, 18:36
Вообще то есть скрипты привязанные к мемберам, называется Cast Member Script, но делать это не рекомендуется.

Правильнее "вешать" скрипты на спрайты либо "руками", либо скриптом ...

Можно динамически создавать, удалять, дублировать ... мемберы, к примеру:


on startMovie()
vs = new(#vectorShape)
vs.name = "myVectorShape"
end

on exitFrame()
go(the frame)
end

on stopMovie()
member("myVectorShape").erase()
end


Можно динамически создавать спрайты, ну и удалять и т д =)


on startMovie()
vs = new(#vectorShape)
vs.name = "myVectorShape"

vs.closed = true

vs.strokeWidth = 10
vs.strokeColor = rgb(255,255,255)

vs.addVertex(1,point(0,50),[0,10],[0,-10])
vs.addVertex(2,point(50,100),[10,0],[-10,0])
vs.addVertex(3,point(100,50),[0,-10],[0,10])
vs.addVertex(4,point(50,0),[-10,0],[10,0])

sprite(1).puppet = true
sprite(1).member = vs
sprite(1).ink = 36
sprite(1).loc = point(150,150)

end

on exitFrame()
go(the frame)
end

on stopMovie()
sprite(1).member = void
sprite(1).puppet = false
member("myVectorShape").erase()
end



Ну и динамически создавать скрипт и вещать его на спрайт =)
Смотри sprite(1).scriptNum , sprite(1).scriptInstanceList ... ну и script, scriptType, scriptText и т д

KorneKrabb
15.09.2004, 18:57
СПАСИБЫ.. =)

сейчас буду ковыряться ...