Intereting Posts

Эффект масштабирования для Android SurfaceView

Я занимаюсь разработкой автомобильной гонки. Я могу двигаться, останавливаться, ускоряться. Но я хочу, чтобы, когда я нажимаю экран, тогда car(bitmap of car image) должен выглядеть так, он прыгал на его место. Я использую surfaceview для просмотра

Я не хочу использовать 3D openGL . Любая помощь высоко ценится

Solutions Collecting From Web of "Эффект масштабирования для Android SurfaceView"

Наконец, я использовал. На сенсорном событии я создаю более крупное растровое изображение и рисую его на том же месте. Таким образом, эффект будет увеличиваться

 Bitmap bitmapToZoom; // Create a Bitmap // Now zoom it bitmapToZoom=Bitmap.createScaledBitmap(bitmapToZoom, bitmapToZoom.getWidth()+30,bitmapToZoom.getHeight()+30, null); //now draw it again canvas.drawBitmap(bitmapToZoom, 0,0,null); 

Итак, теперь, наконец, аккордеон на сенсорном коде будет таким. Название класса ZoomonTouc.java

 import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.RectF; import android.view.MotionEvent; import android.view.SurfaceView; public class ZoomonTouc extends SurfaceView { public Bitmap mMyChracter; public ZoomonTouc(Context context) { super(context); mMyChracter = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher); setWillNotDraw(false); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawBitmap(mMyChracter, mMyChracter.getWidth()/2, mMyChracter.getHeight()/2, null); invalidate(); } @Override public boolean onTouchEvent(MotionEvent event) { RectF rectF = new RectF(mMyChracter.getWidth()/2, mMyChracter.getHeight()/2, mMyChracter.getWidth() + 100, mMyChracter.getHeight() + 100); if (rectF.contains(event.getX(), event.getY())) { mMyChracter = Bitmap.createScaledBitmap(mMyChracter, mMyChracter.getWidth() + 10, mMyChracter.getHeight() + 10, false); } return true; } 

}

Чтобы проверить его, необходимо создать одно действие и установить поверх поверхности фокус активности

 setContentView(new ZoomonTouc(this));