首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

java-universal-tween-engine,一个卡通片系统库

2012-08-28 
java-universal-tween-engine,一个动画系统库http://code.google.com/p/java-universal-tween-engine/可以

java-universal-tween-engine,一个动画系统库
http://code.google.com/p/java-universal-tween-engine/

可以用来创建平滑的移动系统,比如循环,移动,旋转等。由于项目使用纯java写成,所以支持swt,swing,android,opengles等。Tween缓冲大家应该都不陌生,说白了就是从一起始位置逐渐移动到目标位置的过程,这个过程可以是加速移动,也可以是减速移动,这些不同的缓动方式就是Tween的各种ease。

源码在最后,将其解压后复制到src就可以了。

用法,先定义一个需要运动的物体:

import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.os.Bundle;import android.view.View;import aurelienribon.tweenengine.Tween;import aurelienribon.tweenengine.TweenGroup;import aurelienribon.tweenengine.TweenManager;import aurelienribon.tweenengine.Tweenable;import aurelienribon.tweenengine.equations.*;import com.ql.test.Particule;import com.ql.test.TweenableParticule;/** * http://code.google.com/p/java-universal-tween-engine/ * @author admin * */public class Screen4 extends Activity {Particule particule;TweenManager manager;     @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);//        setContentView(R.layout.screen_4);//Button btn_11=(Button)findViewById(R.id.btn_11);        setContentView(new ScreenView(this));// Let's say we are working with an Android target. We need to pool our objects.Tween.setPoolEnabled(true);// We also need a manager to handle every tween.manager = new TweenManager();// We can now create as many interpolations as we need !particule=new Particule();particule.setX(100);particule.setY(100);Tweenable tweenParticle=new TweenableParticule(particule);Tween tween = Tween.to(tweenParticle, TweenableParticule.XY, 10000, Cubic.OUT).target(400, 500);manager.add(tween.start());tween = Tween.to(tweenParticle, TweenableParticule.XY, 10000, Bounce.OUT).target(100, 500).delay(10000);manager.add(tween.start());//TweenGroup tweenGroup=new TweenGroup().pack(//Tween.set(tweenParticle, TweenableParticule.XY),//Tween.to(tweenParticle, TweenableParticule.XY, 10000, Sine.OUT),//Tween.from(tweenParticle, TweenableParticule.XY, 10000, Sine.OUT),//Tween.to(tweenParticle, TweenableParticule.XY, 10000, Bounce.OUT)//);//manager.add(tweenGroup.sequence().repeat(2,5000).start());//TweenGroup tweenGroup= new TweenGroup().pack(//    Tween.to(tweenParticle, TweenableParticule.XY, 500, Quad.INOUT).target(200),//    Tween.to(tweenParticle, TweenableParticule.XY, 500, Quad.INOUT).target(100),//    Tween.to(tweenParticle, TweenableParticule.XY, 500, Quad.INOUT).target(200).delay(1000)//).sequence().start();    }    @Override    protected void onResume() {        super.onResume();            }    @Override    protected void onPause() {        super.onPause();        manager.clear();    }    class ScreenView extends View{    Paint paint;public ScreenView(Context context) {super(context);// TODO Auto-generated constructor stubpaint=new Paint();paint.setAntiAlias(true);paint.setColor(Color.RED);paint.setStyle(Paint.Style.FILL_AND_STROKE);invalidate();}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stub//super.onDraw(canvas);canvas.drawCircle(particule.getX(), particule.getY(), 20, paint);manager.update();invalidate();}        }}
1 楼 wxw404 2011-11-01   谢谢收了 拿来用 2 楼 2006her 2012-03-09   感谢分享啊。

热点排行