在DirectorMX2004使用Flash里面的函数

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

在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里面的函数(这里我们是调用的自定义函数),这给我们的创作带来了更大的灵活性。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航