游客:
注册
|
登录
|
帮助
网友俱乐部
»
多媒体类
»
Director教程
» Director 编写自己的行为(1)
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
免费存储空间,免费网络硬盘
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: Director 编写自己的行为(1)
ljjk5
元帅
UID 46706
精华
1
积分 99426
帖子 49691
威望 554
金币 48489
热心 505
阅读权限 100
注册 2007-2-25
状态 离线
#1
使用道具
发表于 2007-3-9 13:40
资料
个人空间
主页
短消息
加为好友
Director 编写自己的行为(1)
一、什么是行为
行为是一类特殊的剧本,即我们通常所说的Behavior。为了明白其具体含义,让我们先来看看什么是剧本。
在Director中,虽然只要通过鼠标的点击和拖动等一些非代码的操作就可以实现许多复杂的交互和演示,但Director强大的真正原因之一在于拥有内置的编程语言Lingo,这也是它能够成为一个完整多媒体开发平台的关键。而Lingo作为Director的核心内容,则是通过各种不同类型的剧本来实现其作用的。
Director中的剧本共有四种:
* 影片剧本(Movie Script):作用于整个影片,包含有可供其它剧本调用的处理程序。
* 父代剧本(Parent Script):仅在进行面向对象编程时使用。
* 行为剧本(Behavior Script):根据作用区域不同分为角色剧本(Sprite Script)和帧剧本(Frame Script),分别控制相应的角色或帧。
* 演员表剧本(Cast Script):隶属于相应的演员,作用于所有使用此演员的角色。
这四种剧本互相协作,对影片进行着全面的控制。而其中的行为剧本,使用得最为广泛。
二、为什么要使用行为
那么为什么要使用行为呢?也就是说,使用行为有什么好处呢?
其实,行为的最大优势在于能够批量“生产”和“操纵”特定的角色或帧。举个简单的例子来说,如果我们需要制作一些简单的导航按钮,则只需编写下面这段代码即可:
on mouseUp me
go to frame 5
end
这段代码的含义非常简单:当在此按钮上点击鼠标时播放头跳到第5帧。我们只要将其赋予某个按钮,即可实现相应的导航功能。
如果只需少量这样的按钮,则并不能看出来行为的优势,但如果需要制作许多这样的导航按钮且导航目的地不同时,行为的优势便显而易见了。简单的说,只需编写一个简单的导航行为,就可“以不变应万变”。
三、编写自己的行为
下面我们就以上面所提到的导航按钮为例,编写一个简单完整的“Guide Behavior”。
1. 准备素材:
首先,准备需要使用的演员(包括文本演员和按钮演员各4个)并将其置于舞台之上,完成后的结果如图所示。其中4个文本演员生成的角色分别位于通道1中的不同帧。
2. 编写剧本:
打开剧本窗口,建立一个名为“Loop”的剧本演员,并在属性监察窗中将其属性调整为“Behavior”,然后输入下面的代码:
on exitFrame me
go to the frame
end
上面这段代码使得播放头始终在当前帧上循环,直至发出跳出循环的命令。其实这个“Loop”便是一个简单的行为,只不过它并没有需要设置的参数。
使用相同的方法建立一个名为“Guide”的剧本演员并调整其属性,然后输入下面的代码:
property pTargetFrame
on getPropertyDescriptionList me
list = [:]
addProp list , # pTargetFrame, [ # comment: "Go To Frame" , # format: #integer , # range: [ # min: 1 , # max: 25 ], # default: 1 ]
return list
end
on mouseUp me
go to frame pTargetFrame
end
3. 添加Script:
将行为“Loop”分别拖拽到分镜表窗口帧通道的1、5、16、24帧,以使影片能够在这些帧上循环播放。
以同样的方法将行为“Guide”拖拽到角色2(由演员“Button01”生成)上,此时会出现下图所示的参数对话框。通过这个对话框,可以直接指定“go to frame pTargetFrame”命令中pTargetFrame的取值。利用滑动条,在当前对话框中指定其取值为“1”。
分别对角色3、4、5进行相同的操作,只不过需要在参数对话框中指定不同的pTargetFrame取值:角色3的pTargetFrame = 5,角色4的pTargetFrame = 16,角色5的pTargetFrame = 24。
从以上的操作中可以看到,此时的pTargetFrame已经成为了一个“变量”,我们完全可以根据需要指定其取值,从而避免了为不同的导航目的地编制不同的导航命令。这便是行为的强大之处。
网友
ljjk5
签名 - 网友社区
===
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-10-7 18:21
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP