S40 Touch API - Frame Animator API

网友投稿 279 2023-05-11

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) { . . . } }

1.2.3.4.5.6.7.8.9.

第二步

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

复制

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

1.2.3.

第三步

在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() ); ... ...

1.2.3.4.5.6.7.8.9.10.11.12.13.

代码示例

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:S40 Touch API - Text Editor API
下一篇:Chrome开始集成图形识别 API(Shape Detection API)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~