1

スコアは描画可能な画像です

private Bitmap Scores;
private boolean running =true;
private SurfaceView mySurfaceHolder;
Scores.decodeResource(myContext.getResource(), R.drawable.score);

//this is just the run procedure
@Override 
public void onRun()
{
   while(running){

       Canvas c = null;
     try{
         c = mySurfaceHolder.lockCanvas(null);
              synchronize(mySurfaceHolder){           
                        drawScore(c);  //here is where i call my method..
              }
      }finally{
         mySurfaceHolder.unlockCanvasAndPost(c);

  }

}

  //the pontsGain and onTitle are both boolean variables so please don't get confuse
  //and pointScoreAtY is an integer that will allocate my specific position in screen
  private void drawScore(Canvas c)
  {
      try{
          if(pointsGain && !onTitle)
        {
              pointScoreAtY = (int)(FingerY -(Scores.getHeight()/2)-100);

              int i=100;
            do{
            try{

                c.drawBitmap(Scores, (FingerX -(Scores.getWidth()/2))+200,pointScoreAtY, null);
                invalidate();
                 pointScoreAtY -=i;

            }catch(Exception e){}
            }while(i-->0);
            pointsGain = false;
        }
      }catch(Exception e){}
  }

この特定の関数は、現在の場所で画面にビットマップを描画していますが、それは私がやろうとしていることではありません...たとえば、私の主な目標は、ゲームのキャラクターがヒットしたときです。画面から上がったり消えたりすることができます。

4

1 に答える 1

0

次のように、イメージビューにアニメーションを追加できます。

TranslateAnimation anim = new TranslateAnimation( 0, xDest - originalPos[0] , 0, yDest - originalPos[1] );
    anim.setDuration(1000);
    anim.setFillAfter( true );
    view.startAnimation(anim);

アニメーションの詳細については、Android 開発者サイトを確認してください: http://developer.android.com/training/animation/index.html

于 2013-08-15T05:49:26.700 に答える