Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77849
  • 博文数量: 131
  • 博客积分: 2805
  • 博客等级: 少校
  • 技术积分: 1055
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-25 18:41
文章分类

全部博文(131)

文章存档

2012年(32)

2011年(99)

最近访客

分类: Java

2011-11-15 14:31:11

以下代码实现了上面四种功能

 

 

package com.yarin.android.Examples_05_15;

 

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.Canvas;

import android.graphics.drawable.BitmapDrawable;

import android.view.KeyEvent;

import android.view.View;

import android.view.animation.AlphaAnimation;

import android.view.animation.Animation;

import android.view.animation.RotateAnimation;

import android.view.animation.ScaleAnimation;

import android.view.animation.TranslateAnimation;

 

public class GameView extends View

{

    /* 定义Alpha动画 */

    private Animation   mAnimationAlpha     = null;

   

    /* 定义Scale动画 */

    private Animation   mAnimationScale     = null;

   

    /* 定义Translate动画 */

    private Animation   mAnimationTranslate = null;

   

    /* 定义Rotate动画 */

    private Animation   mAnimationRotate    = null;

   

    /* 定义Bitmap对象 */

    Bitmap              mBitQQ              = null;

   

    public GameView(Context context)

    {

        super(context);

       

        /* 装载资源 */

        mBitQQ = ((BitmapDrawable) getResources().getDrawable(R.drawable.qq)).getBitmap();

    }

   

    public void onDraw(Canvas canvas)

    {

        super.onDraw(canvas);

       

        /* 绘制图片 */

        canvas.drawBitmap(mBitQQ, 0, 0, null);

    }

 

    public boolean onKeyUp(int keyCode, KeyEvent event)

    {

        switch ( keyCode )

        {

        case KeyEvent.KEYCODE_DPAD_UP:

            /* 创建Alpha动画 */

            mAnimationAlpha = new AlphaAnimation(0.1f, 1.0f);

            /* 设置动画的时间 */

            mAnimationAlpha.setDuration(3000);

            /* 开始播放动画 */

            this.startAnimation(mAnimationAlpha);

            break;

        case KeyEvent.KEYCODE_DPAD_DOWN:

            /* 创建Scale动画 */

            mAnimationScale =new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f,

                                            Animation.RELATIVE_TO_SELF, 0.5f,

                                            Animation.RELATIVE_TO_SELF, 0.5f);

            /* 设置动画的时间 */

            mAnimationScale.setDuration(500);

            /* 开始播放动画 */

            this.startAnimation(mAnimationScale);

            break;

        case KeyEvent.KEYCODE_DPAD_LEFT:

            /* 创建Translate动画 */

            mAnimationTranslate = new TranslateAnimation(10, 100,10, 100);

            /* 设置动画的时间 */

            mAnimationTranslate.setDuration(1000);

            /* 开始播放动画 */

            this.startAnimation(mAnimationTranslate);

            break;

        case KeyEvent.KEYCODE_DPAD_RIGHT:

            /* 创建Rotate动画 */

            mAnimationRotate=new RotateAnimation(0.0f, +360.0f,

                                                    Animation.RELATIVE_TO_SELF, 0.5f,

                                        Animation.RELATIVE_TO_SELF, 0.5f);

            /* 设置动画的时间 */

            mAnimationRotate.setDuration(1000);

            /* 开始播放动画 */

            this.startAnimation(mAnimationRotate);

            break;

        }

        return true;

    }

}

 

 

 

阅读(384) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~