简单动画实例
本例通过使用WML的ontimer事件来延时交替显示两幅图像,来实现一个简单的动画应用。本例同时给出了从WML向WMLScript函数传递变量值,以及获取返回值的编程方法。WAP页面中使用的图像只能是1位的位图图像,格式为WAP专用的wbmp格式,有关图像格式转换的方法可参见本书第11章的内容。
本例有两个程序文件:animate.wml和animated.wmls。animate.wml执行时首先给time变量赋予初始值20,然后在用户选择“运行动画(Run Animation)”选项后对存放图像文件的变量image进行初始化,并赋予它第1张图像文件名;当ontimer事件激活时,它就调用animated.wmls文件中的main()函数,该函数将每次使time变量的值减少2,并交换image变量的图像文件名,随后返回新的time值和image值,并在WAP浏览器上显示图像。这一过程将在ontimer事件激活时重复一次,直到time变量的值最后减少到0。
Animate.wml文件的程序代码如下:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.1//EN" "http://www.phone.com/dtd/ wml11.dtd">
<wml>
<card>
<option>Run Animation // 定义一个选项
<onevent type="onpick">
// 变量赋初值
<setvar name="time" value="20"/>
<setvar name="image" value="image1.bmp"/>
</onevent>
</option>
<onevent type="ontimer">
// 事件激活(即延时结束)后,执行animated.wmls文件中的外部函数main()
<go href="animated.wmls#main()">
</go>
</onevent>
// 显示图像及提示信息
<p align="center"><img alt="animate" src="$(image)"/></p>
<p align="center">A simple animation</p>
</card>
</wml>
[1] [2] 下一页