gpt4 book ai didi

android - Android SurfaceView 上的缩放效果

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:19 28 4
gpt4 key购买 nike

我正在开发一款赛车游戏。我能够移动、停止、加速。但我希望当我按下屏幕时 car(汽车图像的位图) 应该看起来像,它已经跳到它的位置。我正在使用 surfaceview 绘制 View

我不想使用3D openGL。非常感谢任何帮助

最佳答案

我终于使用了。在触摸事件中,我创建了一个更大的位图并将其绘制在同一个地方。所以它会产生缩放效果

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);

所以现在终于,触摸代码上的缩放 actor 将像这样。类名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;
}

要正确测试它,请创建一个 Activity 并将表面上方设置为 Activity 背景

setContentView(new ZoomonTouc(this));

关于android - Android SurfaceView 上的缩放效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7593010/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com