用面向对象的方法在DIRECTOR中实现滚动条
日期:2007年5月19日 作者: 查看:[大字体 中字体 小字体]-
在国外,越来越多的Director程序员倾向用LINGO中的对象概念来编写他们的程序。这主要是基于以下几点:1:提高代码重用率。2:减少代码的复杂度。
因为在DIRECTOR编程中经常会碰到这种情况:很多STAGE(舞台)上的SPRIRITE(精灵) 具有相同或相似的性质。比如编写一个射击不断下落的彩球的游戏,不同的彩球除了颜色和大小等属性不同外,具有相同的下落速度和消失方式。如果我们为每一个彩球编写 一套代码,则一百个小球就会有一百套相似的代码。这无疑会增加程序的复杂度。用LINGO中对象的概念可以只实现一个彩球的父脚本,由此派生出一百个具有不同属性的彩球。
LINGO并不是一种面向对象的语言(如C++),它原为一种脚本语言,在DIRECTOR4.0时才引 入了面向对象的概念。所以它有着先天的不足。这一点在对象的继承上表现最明显。但这 并不影响在LINGO中广泛使用对象。现在我就把传统C++的对象概念与LINGO中的对象概念作一个对比。
C++ LINGO
对象 父脚本
成员变量 属性
成员函数 句柄
实例或对象指针 对象ID号其实LINGO中的对象要比想象的简单。首先要在脚本的Script cast Member Properties 中将要设为父脚本的脚本类型(type)设为Parent。
父脚本是为单独对象编写的通用脚本。它应具有一些属性和最少一个NEW句柄(注: DITECTOR4.0为BIRTH句柄)用以派生对象。以人为例。它的脚本应类似如下的句柄,
---Parent Script of Human----cast name 为parent:Human
property Age
property Gender
property Height
property Weight
property Heartbeat
.......。on new me,pAge,pGender,pHeight,pWeight,pHeartbeat... --NEW句柄必需有
set Age = pAge
set Gender = pGender
set Height = pHeight
set Heartbeat = pHeartbeat
......return me ---此语句用以返回对象ID号
endon heart me
if (Heartbeat = 0 ) then
alert \"He or she is Dead\")
return
end对象中的句柄的第一个参数必为me.当调用父脚本生成对象时,每一次调用产生不同的对象ID号用以区分同一脚本派生的不同对象。具体调用如下: set HumanObject = new(script\"parent:Human\") 将对象IDH号存入HumanObject变量。如何调用对象句柄呢? 只要将包含ID号的对象句柄参数传给对象句柄就可以了。例如:heart(HumanObject)。
以上简单解释了LINGO中的对象用法。现在用它来实现一个滚动条对象。 很多DIRECTOR用户都知到DIRECTOR中的滚动条很难看,有点类似早期MACINTOSH的界面。 用它作出的图形很不和谐。用LINGO对象,你可以扩展成任何形式的滚动条,定做自己的滚动条和滚动块以及滚动面板。具体LINGO 原码如下:
我在这里做一些解释:滚动条对象包含以下属性:
-- Scroller scriptproperty pnVisibleLines --滚动框中的可见行数
property pOnScreenField -- 视屏文字域的名字或脚色号property pchThumb -- 滑动块的通道号
property pchScrollBar -- 滑动杆的通道号 - [1] [2] [3] 下一页
-
- 用面向对象的方法在DIRECTOR中实现滚动条 相关文章:
- 用面向对象的方法在DIRECTOR中实现滚动条 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:DirectMedia Xtra 在 Director 中的应用技巧
精品推荐
热点TOP10
- ·QuickDraw 3D Xtra 使用指南
- ·使用 image lingo 制作模拟刮胡子的演示程序
- ·一个按钮的两种做法
- ·制作具有Win XP 风格的菜单——妙用Director 8.5的lingo脚本
- ·Lingo魔法书--事件和脚本类型
- ·Director Lingo 语言入门(12)
- ·Lingo常用辞典- I
- ·如何使用 Director 编写“拼图游戏”
- ·Lingo常用辞典- C
- ·Director 动画技术
- ·Lingo魔法书--光标和行为
- ·Director技巧--关于text scroll 的问题
- ·使Director创作过程自动化(一)
- ·Director8制作模拟刮胡子演示程序(一)
- ·Lingo魔法书--变量,字符串和文本域
- ·Lingo常用辞典- E
- ·在Director中应用Flash——基础篇
- ·用面向对象的方法在DIRECTOR中实现滚动条
- ·Director 3D 基础(之一)
- ·Director制作《七巧板》游戏
