Image 01 Image 02

加速传感器在Flash Lite中的应用

五梭发表于2008年2月26日
0

Flash Lite 2.0中有一条对索尼爱立信的K850/W910的加速传感器兼容的ActionScript。这样你就可以为你的墙纸和屏保设计纵向和横向两种模式了。当你横向握持的时候,墙纸也能正常显示,感觉很不错。
这条ActionScript是:loadVariables(”accelerometer://data”, _root);

下面是一个读取加速传感器数据的小例子,当在电话显示时,取得加速传感器的三维数据,如果是在PC上显示的话,就取鼠标的坐标:

fscommand2("FullScreen");< br /> onEnterFrame = function() {
displayDevice = substring(eval("/:$version"), 0, 2) == "FL" ?
"phone" : "pc";
if (displayDevice == "phone") {
loadVariables("accelerometer://data", _root);
} else {
accX = _root._xmouse;
accY = _root._ymouse;
accZ = 0;
}
}

怎样实现在K850上实现Flash Lite的自动横屏功能

首先,打开Adobe Flash,新建文档,选择Flash file (ActionScript 2.0) 然后确定。设定大小240×320。重要的是要点“Setting”来设置Action Script为 Flash Lite 2.0版本。

设置Flash Lite 2.0版本

我们将在这个Flash文件里使用一幅图片两种尺寸:

纵向图片

横向图片

由加速传感器的数据决定显示哪张图,你可以使用你自己的图片。

然后就是脚本了,先在第一层上新建3个关键祯(一共是4个)分别给脚本:

第一祯:
fscommand2("ExtendBacklightDuration");
fscommand2("FullScreen");
loadVariables("accelerometer://data", _root);
if ((accX > 800) && (accY < 400)) {
gotoAndPlay(3);
}

第二祯:
gotoAndPlay(1);
第三祯:
fscommand2("ExtendBacklightDuration");
fscommand2("FullScreen");
loadVariables("accelerometer://data", _root);
if ((accX < 400) && (accY > 800)) {
gotoAndPlay(1);
}
第四祯:
gotoAndPlay(3);
好了,然后我们插入刚才准备好的图片。

创建第二层,在第一、第三祯建关键祯。你的时间轴应该像这样:

时间轴

把纵向图片放在第一祯,确认坐标定位在X:0.0,Y:0.0,横向图片放在第三祯,顺时针旋转90度,同样定位好坐标。这样就好了,输出动画吧。

下载源文件(.FLA)

Popularity: 48% [?]



Leave a reply...