中国领先的IT技术网站
|
|

S40 Touch API - Frame Animator API

Frame Animator API 用来计算动力学和线性内插动画。例如,可以用于处理滑动或拖拽动作。相关文档可以参考 S40 Touch API (1) - Gesture API。

作者:max.chen来源:NOKIA|2013-01-25 14:44

Tech Neo技术沙龙 | 11月25号,九州云/ZStack与您一起探讨云时代网络边界管理实践


Frame Animator API 用来计算动力学和线性内插动画。例如,可以用于处理滑动或拖拽动作。相关文档可以参考 S40 Touch API (1) - Gesture API

第一步

参考文档 S40 Touch API (1) - Gesture API中的说明,先定义一个GestureListener ,然后实现FrameAnimatorListener接口。

class FrameAnimatorCanvas extends Canvas implements FrameAnimatorListener
{
public void animate(FrameAnimator frameAnimator,
short x, short y,
short delta, short deltaX, short deltaY,
boolean lastFrame) {
. . .
}
}

第二步

创建一个FrameAnimator实例,并注册FrameAnimatorListener接口。

frameAnimator = new FrameAnimator();

frameAnimator.register(centerX, centerY, maxFps, maxPps, this);

第三步

在GestureListener 接口中的gestureAction()方法里,触发FrameAnimator的drag()和kineticScroll()方法,开始动画的计算和绘制。

public void gestureAction(Object container, GestureInteractiveZone gestureZone, GestureEvent event) {

switch( event.getType() );
case GestureInteractiveZone.GESTURE_DRAG:
frameAnimator.drag( event.getStartX()+event.getDragDistanceX(), event.getStartY() +event.getDragDistanceY() );
... ...

case GestureInteractiveZone.GESTURE_FLICK:
frameAnimator.kineticScroll( event.getFlickSpeed(), FrameAnimator.FRAME_ANIMATOR_FREE_ANGLE,
FrameAnimator.FRAME_ANIMATOR_FRICTION_MEDIUM, event.getFlickDirection()
);

... ...

代码示例

Media:FrameAnimator.zip运行这个例子后,试着做一下flick,是不是很有意思!

【编辑推荐】

  1. 开发S40Web Map 应用
  2. S40 6th JAVA ME开发环境搭建
  3. Symbian s40 Java编程实战——开发环境配置
【责任编辑:Yeva TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SQL Server 2005数据库管理与应用高手修炼指南

全书分为基础篇、高级篇和应用篇3个部分,共18章,有重点、分层次地讲解SQL Server 2005的基础知识、高级使用技巧和项目应用方法。第1~10...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× CTO训练营(深圳站)