简单动画实例

发布时间:2007年02月07日      浏览次数:2115 次
简单动画实例
本例通过使用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>

Animated.wmls文件的程序代码如下:

extern function main()
{
// 获取初始变量值
var image = WMLBrowser.getVar("image");
var remianingTime = Lang.parseInt(WMLBrowser.getVar("time"));

// 减少time的时间值,并判断值为0时终止执行
remiainingTime -= 2;
WMLBrowser.setVar("time", remainingTime);

if (remainingTime > 0); {
if (image == "image1.bmp") {
WMLBrowser.setVar("image", "image2.bmp"); // 替换显示的图像文件
} file://如果当前显示的是image1.bmp,则换为image2.bmp
else {
WMLBrowser.setVar("image", "image1.bmp");
} // 否则就换为image1.bmp
WMLBrowser.referesh();
} // 如果延时大于0
}

本 章 小 结
本章我们讲解了WMLScript语言提供的库函数,以及第三方提供的WMLScript非标准库函数,涉及的内容主要包括各函数的功能、用法、参数作用及取值范围等。作为WML、WMLScript学习的总结,本章最后还讲解了几个使用WML、WMLScript开发的WAP应用实例。本章内容较多,读者不可能一下子熟练地掌握全部内容,但希望大家能知道实现各种具体无线网络功能时所要用到的库函数,这样等实际开发时就可以来快速查阅这些函数的详细内容,从而提高开发效率。
文章来源:http://web.xx32.com/HTML/71287.html
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!