Director和Flash结合运用

Author: 郎宇新 Date: 2001年 50期

?牐犜贔lash 3.0以后的版本中都支持向Director发送Lingo命令,当然现在大家多数都在用Flash 5.0,这一点是没有问题了。这里我们作一个示例,在Flash中按钮的名称为“第一章”,在Director中按下之后它可以跳到名为“chapter 1”的Marker处。
  ?牐犝饫镉腥址椒?可以实现从Flash中向Director发送命令:
  #1?牐犚弧? 最为简单直接的方法
  ?牐犑紫龋贔lash中新建一文件,并制作一个按钮,按钮的名称为第一章,右键单击按钮,在弹出的菜单中选择“Actions”项在弹出的“Actions”对话框左侧的目录中双击“Basic Actions”下的“Get URL”,之后在下面的URL地址栏里输入:Lingo:go to frame“chapter 1”(^50020701a^1)所示,其余的地方什么也不要填,然后保存并发布成标准的swa格式的Flash动画就可以了。
  ?牐犜贒irector 你要做的就是首先引入这个文件并把它放到舞台上,使其从第一帧延续到第十帧,然后在第十帧处建立一个名为“chapter 1”的Marker,并在这个帧脚本中输入下面的语句,目的是使播放头能停在这一帧。
  ?牐爋n exitframe
  ?牐爀nd go to the frame
  ?牐犖耸构鄄煨Ч飨裕颐窍热糜捌诵惺蓖T诘谝恢。匆苍谥〗疟局惺淙肷厦娴挠锞洌酉吕丛凇癱hapter 1”Marker处放置另外一个动画,这里我放了一个周华健的“最近比较烦”Flash动画,现在播放影片,影片停在第一帧,按下“第一章”后,播放头跳到了“chapter 1”Marker处,MTV开始播放了吧!这里你可以通过“score”窗口来观察播放头的跳转,我的“score”窗口是这样的(^50020701b^2)。
  ?牐犝庵址椒?简单直接,而且不需要你做过多的设置,很容易吧!
  #1?牐牰⒏纱嗬鞯姆椒?
  ?牐犝庵址椒?目的性强,用起来干脆利索,但它比上面的方法稍难理解,其实这种方法一点也不难,关键看你对Lingo有多少了解了。开始的步骤同上面一样,但在URL的地址栏里不需要你输入那么多语句,这次你只要输入“chapter 1”就可以了,具体在Flash窗口中的语句如下:
  ?牐爋n (release){?? ??
  ?牐爂etURL (“chapter 1”);
  ?牐牓爙
  ?牐牷氐紻irector中,从“window”菜单中选择“script”或按“ctrl+0”,弹出“script window”窗口,在其中输入如下语句:
  ?牐爋n geturl me
  ?牐爂o to frame “chapter 1”
  ?牐爀nd
  ?牐牨4嫖募笤诵杏捌聪隆暗谝徽隆卑磁ィ馐钡男Ч肷弦恢址椒ㄊ且谎模シ磐范蓟崽矫癱hapter 1”的Marker处。
  #1?牐犎⒆钗榛疃啾涞姆椒?
  ?牐犛辛说诙址椒ǖ幕。莆照庵址椒ň筒荒蚜恕U庵址椒ㄒ彩俏易钗萍龅姆椒ǎ淖畲蠛么υ谟谒牧榛钚裕憧梢砸淮涡缘耐瓿伤性贔lash中的工作,之后就不必在两个软件之间来回的转换了,对于分工合作的工作小组来说是最好不过的了。
  ?牐犝庵址椒ㄍü贔lash中产生一个Event 事件来告诉Director要执行哪一个事件,至于事件的内容,就由Director自己来定了。具体的作法是这样的:在“Get Url”栏里输入如下语句:“Event:M_click”。在Director中打开“script”窗口输入:
  ?牐爋n M_clcik
  ?牐爂o to frame “chapter 1”
  ?牐爀nd
  ?牐犜俨シ庞捌聪隆暗谝徽隆卑磁ィシ磐坊崽矫癱hapter 1”的Marker处。有人会问了,这不与前面的一样吗?还不如第一种方法来得快。其实不然,如果你需要一个按钮做很多工作并需要多行Lingo代码的时候,你需要在Flash中双击很多次“Get Url”,然后写上很多行“Lingo:………”当你一不小心写错时,在Director中又很难找出错误,找出后还得回到Flash中修改,无形中为你增添了不少麻烦。其实在这里“M_click”属于一个在Director中自定义的事件,Flash要做的只是告诉Director去做“M_click”这件事。“M_clcik”的内容可以更复杂,比如用“open”命令打开另外一个窗口,用“sound.play()”命令来播放一段音乐等等,它都能胜任,如果你是一个Flash高手的话,你可以做出很漂亮的按钮,它不但可以控制Flash中的动画,还可以控制Dircetor中的程序跳转。这种方法的灵活性也就在此体现出来了。
  ?牐犝馊址椒ǜ饔兴ぃ≡衲囊恢址椒ㄒ茨愕南埠昧耍腋鋈饲苛彝萍瞿悴捎玫谌址椒ǎ蛭以诿髡庵峙浜戏椒ㄊ弊吡瞬簧俚耐渎罚詈蟛欧⑾值谌植攀亲詈玫摹?
  ?牐犗感牡亩琳咭丫⑾郑贒ircetor中鼠标移到按钮上时并没有任何的变化,但在Flash中鼠标会变成手的形状。其实实现这个功能也很简单,你可以在Flash 中加入下面的语句:
  ?牐爋n(release){
  ?牐爂etURL (“event:M_click”);
  ?牐牓爙
  ?牐爋n (rollout){
  ?牐爂etURL (“event:M_rollout”);
  ?牐牓爙
  ?牐爋n (rollOver){?? ??
  ?牐爂etURL (“event:M_rollover”);
  ?牐牓爙
  ?牐犜贒irector的“script window”中输入:
  ?牐爋n M_clcik
  ?牐爂o to fraem “chapter 1”
  ?牐爀nd
  ?牐爋n M_rollover
  ?牐燾ursor 280  ──使鼠标变成手指形状;
  ?牐爀nd
  ?牐爋n M_rollout
  ?牐燾ursor 0    ──使鼠标恢复为原来的箭头形状;
  ?牐爀nd
  ?牐犝庋磁サ墓δ芫突旧鲜迪至耍坏苁迪侄Ч⒈浠皇蟊辏鼓苁迪殖绦蛱刂疲憧梢宰杂傻卦贒irector中GO 来GO去了!要是想你的按钮能实现更多更复杂的功能那就要看你的Lingo水平了!