S40 Touch API - Frame Animator API

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

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,是不是很有意思!

责任编辑:Yeva 来源: NOKIA
相关推荐

2013-01-25 14:48:57

Series 40S40

2013-01-25 14:56:23

S40Series 40

2013-01-25 15:04:30

S40Series 40

2013-01-25 13:49:26

S40Series 40

2013-01-25 14:08:32

S40Series 40

2013-01-25 15:29:14

s40Series 40

2013-01-25 14:06:17

S40Series 40

2011-09-02 16:08:09

Sencha ToucAPI文档

2013-10-31 14:30:44

CloudaAPI

2012-03-26 21:45:13

S40

2012-02-02 09:06:44

SymbianS40诺基亚

2021-08-09 08:20:59

API安全测试漏洞

2014-12-22 10:28:47

2023-06-26 18:13:56

开源API

2012-12-14 14:48:01

诺基亚Series 40S40

2012-04-13 09:17:19

微软API必应搜索

2017-03-15 16:05:19

ChromeAPI浏览器

2022-02-10 23:38:23

API架构设计

2022-07-07 16:48:10

API应用安全
点赞
收藏

51CTO技术栈公众号