首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> 其它编程 -> 【Director教程】制作屏保
【Director教程】制作屏保


文章类别:其它编程 来源: 作者: 发表日期:2006-4-10 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

(只是想为多媒体的发展尽一份力。以下是翻译director online 上的一篇关于director制作屏保的文章,觉得简单有用,所以给大家共享。动机单纯。-------alalala)


问题
我想做一个遮住整个屏幕的屏保程序,大约有五十张小图不断重复直到鼠标或是键盘有所动作。我听说这些能用lingo实现,通过list和miaw。我有一定的lingo基础,但我对这些却毫无头绪。


回答
你的需要包含两个步骤。首先,你需要一个能自动适合屏幕大小并且当鼠标或键盘有所动作时退出的执行文件。第二步,你需要将这个执行文件转换为自运行的屏保。

第二步很容易实现。到http://www.macsourcery.com/去购买cinemac。(好狠)这是一个非常好的将director执行文件转为屏保的程序。不要管它的名字,它在两个平台都运行的很好。

现在,让我们来创建这个执行文件。你所描述的屏保是在屏幕不同位置上随机出现精灵的屏保(象大多数屏保一样)。将你的舞台尺寸设置的和你期望的一样大。在这个演示中,我将舞台尺寸设置为1152*870。即便舞台设置的这么大,在大多数情况下只是它的一部分可视。这部分是我们放置精灵的地方。这便意味着我们希望知道播放的屏幕的大小。

你可以通过desktoprectlist命令来找到播放屏幕的大小。举例来说,打开消息窗口作如下操作:
put the desktoprectlist
----[rect(0,0,1152,870)]

正如你所看到的,结果是rect…..注意它是包含(encapsulated)在列表里的,尽管只有一个条目。如果你有两个显示器,那么你会看到对应于第二个显示器的第二个条目。在这个例子里,我假设只有一个显示器。在我的这个startmovie的命令里,我首先将得出desktoprectlist并且从这个rect列表中获取第3和第4个值。这些值是屏幕右边和底部的值,我会将他们做为全局变量(grightlimit和gbottomlimit)

on tartmovie me

global grightlimit,gbottomlimit,gmouseloc
set screensize=getat(the desktoprectlist,1)
set grightlimit=the right of screensize
set gbottomlimit=the bottom of screensize
set gmouseloc=point(the mouseh,the mousev)
set the keydownscript to “halt”

end
先略命令的最后两行,我一会再解释。

现在我们知道了屏幕的大小,我们需要做的是在屏幕许可的范围里随机交替放置精灵。最简单的,我们将50个演员放置到演员表的头50个位置里。这样,我们只要涉及到演员1到50。

每次exitframe,我们将随机的选择一个演员,一个坐标,并替换我们的精灵。非常容易。

Exitframe命令的最后一行激活了一个叫”testmouse”的命令。”testmouse”命令简单的监测了在最后一次监测后,鼠标是否移动,如果移动就退电影。为了监测鼠标的位置,我使用一个全局变量,在startmovie命令中就将它初始化了(startmovie最后两行)

On exitframe
global grightlimit,gbottomlimit,gmouseloc

set memnum=random(50)
----随便多少图片
set newh=random(grightlimilt)
set newv=random(gbottomlimit)
set the member of sprite 1=member memnum
set the loc of sprite 1=point(newh,newv)
testmouse

end

on testmouse

global gmouseloc
set newmouseloc=point(the mouseh,themousev)
if newmouseloc<>gmouseloc then
halt
else
set gmouseloc=point(the mouseh,the mousev)
end if

end


现在我们完成了你的要求。你也希望在另外两中情况下电影退出:键盘事件和鼠标点击事件。

Set the keydownscript to “halt”

在任何时候敲击键盘将导致电影退出。你可让鼠标点击也达到相应效果。

On mousedown
Halt
End

最后要注意的是,所有的语言都是电影脚本---不要试图放在帧里或试图附在精灵上。

我使用”halt”代替”quit”,是因为虽然他们产生的结果相同,但是在编辑的时候”halt”只是使电影停止而”quit”会退出软件。

上一篇:Director 8.5 简单基础实例教程(八) 下一篇:SQL Server 全局变量
本栏目热门文章
·Discuz!论坛安装步骤图文详解 2006-5-22
·X-Space详细图文安装及常见错误解决 2006-5-22
·得心应手 X-Space下的二级域名配置 2006-5-22
·Discuz! 4.1.0 IIS Rewrite设置方法 2006-5-22
·轻松简单 X-Spacee与Discuz!论坛整合详解 2006-5-22
·Perl文件及目录操作 2006-3-6
·Shell介绍 2006-3-6
·站长手记:Discuz!4.1多论坛数据合并实战 2006-5-22
·在Authorware中控制Flash动画 2006-4-10
·Perl简单模块指南 2006-3-6
新近更新文章
·X-Space最吸引网民的八大特色 2006-6-20
·手把手学习X-Space模块设置 打造个性个人门户网站 2006-6-15
·从动网DV7.1Access转换到Discuz4.1 2006-6-15
·Windows版本Discuz!—EasyDiscuz!安装介绍 2006-6-9
·Discuz! 4.10论坛“傻瓜式”安装教程 2006-6-4
·站长网友最满意的6大X-Space功能 2006-5-28
·X-Space技巧:如何在个人博客设置音乐播放 2006-5-28
·来!把我的Blog数据转移到X-Space里 2006-5-22
·X-Space详细图文安装及常见错误解决 2006-5-22
·得心应手 X-Space下的二级域名配置 2006-5-22
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: