IamはAndroidゲーム開発の初心者で、現在、ビットマップとキャンバスを使用して画面にピクセルを描画するのに問題があります。
これが私のコードです:
package com.example.arkanoid;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.TextView;
import android.graphics.*;
public class MainActivity extends Activity {
Bitmap bitmap;
Canvas canvas;
int lastx=0, lasty=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bitmap = Bitmap.createBitmap(400,400,Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
bitmap.prepareToDraw();
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void drawPixel(int x, int y) {
if(bitmap.isMutable()) {
bitmap.setPixel(x,y,Color.rgb(100,100,100));
}
canvas.drawBitmap(bitmap,0,0,null);
}
public boolean onTouchEvent(MotionEvent event) {
int x = (int)event.getX();
int y = (int)event.getY();
TextView texto = (TextView)findViewById(R.id.textView1);
texto.setText("X: "+x+", Y: "+y);
if(lastx !=x || lasty !=y){
lastx=x;
lasty=y;
drawPixel(x,y);
}
return false;
}
}
関数drawPixel(int x、int y)が複数回呼び出されると、アプリケーションは実行を停止します。
そして、ピクセルは描画されないので、ここでのエラーは何ですか?御時間ありがとうございます。
LogCatからのログを忘れてしまいました。ごめんなさい。