Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Macromedia Director (http://www.flasher.ru/forum/forumdisplay.php?f=45)
-   -   как в директоре сделать duplicate? (http://www.flasher.ru/forum/showthread.php?t=40232)

pol 28.11.2002 20:01

как в директоре сделать duplicate?
 
во флаше знаю, а в директоре нет :(
надо сделать как во флаше:

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

СПАСИБЫ.. =)

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


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

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