Director 8.5 简单基础实例教程(八)

4/7/2006来源:Director教程人气:9417

实例二:使用4个不同的按钮来控制一个角色的移动

使用了脚本改变角色的注册点的位置的方法来实现。

重点:脚本的编辑。LINGO中的局部变量,角色的注册点属性。

效果如图:

1. 首先引入位图演员作为被移动的对象。名字随便,如图如示:

2.将这个演员拖到场景中。

3.设置这个演员的着墨方式为背景透明。(具体方法见上一篇)

4.引入4个位图演员,分别带边着4个方向,可以根据方向来分别命名4个位图演员。

5.将4个分别拖到场景中合适的位置。

6.着墨方式设置为背景透明。

7.选取UP角色,单击鼠标的右键,选择“SCRipT^”选项,打开脚本编辑器。在ONMOUSEUP ME函数内添加如下命令行:

APPLETOP=SPRITE(5).TOP --记录当前的TOP参数

SPRITE(5).TOP=APPLETOP-10 --设置TOP参数减10

APPLEHEIGHT=SPRITE(5).HEIGHT --记录当前的高度参数

SPRITE(5).HEIGHT=APPLEHEIGHT-10 ------将高度减少10,形成上移10个象素的效果

(注意,为什么要将高度减去10呢,原因是TOP参数减去10的时候,角色被向上拉伸了0个象素,而不是上移了0个象素,所以要将高度减去10才可以达到上移的效果。)

程序中的APPLETOP和APPLEHEIGHT称为变量,在函数中用来记录角色的TOP参数和HEIGHT的参数。LINGO中的基本运算符号和其他语言中的类似,赋值用等号,加减乘除分别用+ - * / 来表示。

语句SPRITE(5).TOP的作用是取得SPRITE(5)角色的TOP参数。

语句SPRITE(5)的作用是取得桢编辑器中编号为“5”的角色,即APPLE。

(注意,本例子使用SPRITE(5)是因为笔者是先引入4个位置演员之后,才将BB.bmp,如图所示:

拖到场景中的,如果你是先将BB.bmp人拖到场景中的,那么这个BB.bmp的演员在帧编辑器中的编号为“1”,你需要使用SPRITE(1)控制,即将下边函数中的SPRITE(5)全部改为SPRITE(1)就可以了。

上边的程序也可以这样子写:

APPLETOP=SPRITE(5).TOP

APPLEHEIGHT=SPRITE(5).HEIGHT

SPRITE(5).TOP=APPLETOP-10

SPRITE(5).HEIGHT=APPLEHEIGHT-10

它同上边的程序的不同之处是APPLEHEIGHTE变量记录高度的时刻不同。是在设置了角色的 TOP参数前记录的,所以最后不用将角色的高度减去10了。

8.编辑DOWN脚本程序,在ON MOUSEUP ME函数中写入下边名令。

APPLETOP=SPRITE(5).TOP --记录当前的TOP参数

SPRITE(5).TOP=APPLETOP+10 --设置TOP的参数加10

APPLEHEIGHT=SPRITE(5).HEIGHT --记录当前的高度

SPRITE(5).HEIGHT=APPLEHEIGHT+10 --将高度加10,形成下移10个象素的效果

9.编辑LEFT的脚本程序,在ON MOUSEUP ME函数中写下下列的命令行。

APPLELEFT=SPRITE(5).LEFT --记录当前的LEFT参数

SPRITE(5).LEFT=APPLELEFT-10 --设置LEFT的参数减10

APPLEWIDTH=SPRITE(5).WIDTH --记录当前的宽度

SPRITE(5).WIDTH=APPLEWIDTH-10 --将宽度减10,形成左移10个象素的效果

10.编辑RIGHT的脚本程序,在ON MOUSEUP ME函数中写下下列的命令行。

APPLELEFT=SPRITE(5).LEFT --记录当前的LEFT参数

SPRITE(5).LEFT=APPLELEFT+10 --设置LEFT的参数加10

APPLEWIDTH=SPRITE(5).WIDTH --记录当前的宽度

SPRITE(5).WIDTH=APPLEWIDTH+10 --将宽度加10,形成右移10个象素的效果

11.编辑完成。播放动画,按动4个按钮,可以看到演员按照4个方向移动。

到此为止,本文也完全结束了,从开始的DR8.5的基本介绍,帧编辑器的使用,内建库的使用,后来的LINGO的简单介绍。

基本上可以让一个多媒体新手对DR8.5有一定的了解。其实对于DR8.5的学习,只要认真的把握LINGO语言,一定可以作出意想不到的效果。