Director实例剖析:在Director MX 2004运用Flash里面地函数
2024-09-08 19:27:01
供稿:网友
在director mx 2004使用flash里面的函数
现在在director mx 2004中我们可以直接使用flash里面的函数了。这样我们可以将一些flash实现起来比较方便的功能交给flash去完成。
下面我们还是用一个简单的例子来说明,希望能起到抛砖引玉的效果。
我们这里介绍的是一个时钟显示的范例,就是显示系统的星期,年,月,日,时,分,秒等等。以前我们做这个是用datetime xtra,里面提供了返回上述的7个值的函数。
今天我们是用flash来做,首先,我们在flash的帧脚本里面写好我们需要的函数,这里我写了上述的7个函数(当然你可以进一步扩充),代码如下:
//返回小时,范围0-23
function gethours() {
mydate = new date();
return mydate.gethours();
}
//返回分钟,范围0-59
function getminutes() {
mydate = new date();
return mydate.getminutes();
}
//返回秒数,范围0-59
function getseconds() {
mydate = new date();
return mydate.getseconds();
}//返回一个4位数的年份,如2004
function getyear() {
mydate = new date();
return mydate.getfullyear();
}
//返回月份,范围1-12
function getmonth() {
mydate = new date();
return mydate.getmonth()+1;
}
//返回日期,范围1-31
function getdate() {
mydate = new date();
return mydate.getdate();
}
//返回星期,范围0-6,0表示星期天
function getweekday() {
mydate = new date();
return mydate.getday();
}
下面我们,将其导入到到d2004中,放置到第一个通道上(这里我们给该精灵取了一个名字“dateobj“,这样就算放到其他通道我们也不用改代码了,这也是2004新增的特性),放在舞台显示区外面(因为我们只用其中的函数而不需要显示它),这样我们就可以调用里面的函数了,代码如下(这是一个电影脚本里面的全局函数):
on showtime
--因为后面要多次用到 sprite("dateobj") ,故把它赋给一个变量,以后就可以当作一个对象调用。
date=sprite("dateobj")
dl=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
--将取得的星期几通过列表转换成中文
w=dl[date.getweekday()+1]
--过得年月日
d=integer(date.getyear()) & "年" & integer(date.getmonth()) & "月" & integer(date.getdate()) & "日"
--获得时分秒
h=integer(date.gethours())
--不直接用m=integer(date.getminutes(),而是m=string(integer(date.getminutes())+100),
--然后用 delete char 1 of m,删除第一个字符,使其始终保持长度为2,如8点01分就会显示
--为08:01而不是8:1
m=string(integer(date.getminutes())+100)
delete char 1 of m
s=string(integer(date.getseconds())+100)
delete char 1 of s
t=h & ":" & m & ":" & s
--将得到的内容给timetext member 来显示。
put w & "-" && d && t into member "timetext"
end
最后在帧脚本中加入下面代码就可以显示当前时钟了。
on exitframe me
showtime()
go the frame
end
看看是不是舞台上有一个动态更新的时钟了。我们还可以做成很漂亮的指针式时钟等等。
这里还是有个小问题,就是函数的返回值是整型的到了d中却变成了浮点型(所以要用integer函数来转成整型),当然这对我们使用影响不大,但还是值得注意。
这里我们通过一个简单的例子说明了如何在d 2004中调用flash里面的函数(这里我们是调用的自定义函数),这给我们的创作带来了更大的灵活性。
下载范例