このゲームの目的は、バブル ポップ ゲームの目的に似ています。バブルに触れるたびに、相互作用/イベントが発生します。
これまでのところ、これは私が持っているものです。私はこれが初めてなのでちょっと面倒ですが、私の教授は onTouch(view v, motionevent event) を使用するように言いました。その方法では、event.getSource(); のようなものを使用します。タッチ可能な描画/ビットマップ画像の目的を果たすメソッドとの相互作用を作成できるようにするためです。
どんなアドバイスや助けも素晴らしいでしょう!どうもありがとう。
public class MainActivity extends Activity implements OnTouchListener {
OurView v;
Bitmap icon1, icon2, icon3;
float x,y;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
v = new OurView(this);
v.setOnTouchListener(this);
icon1 = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
icon2 = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
icon3 = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
x = y = 0;
setContentView(v);
}
@Override
protected void onPause() {
super.onPause();
v.pause();
}
@Override
protected void onResume() {
super.onResume();
v.resume();
}
public class OurView extends SurfaceView implements Runnable {
Thread t = null;
SurfaceHolder holder;
boolean isItOK = false;
public OurView(Context context) {
super(context);
holder = getHolder();
}
@Override
public void run() {
while (isItOK == true){
if (!holder.getSurface().isValid()){
continue;
}
Canvas c = holder.lockCanvas();
c.drawARGB(255, 100, 120, 10);
c.drawBitmap(icon1, x=50, y=100, null);
c.drawBitmap(icon2, x=180, y=100, null);
c.drawBitmap(icon3, x=310, y=100, null);
holder.unlockCanvasAndPost(c);
}
}
public void pause() {
isItOK = false;
while(true){
try{
t.join();
}catch (InterruptedException e){
e.printStackTrace();
}
break;
}
t = null;
}
public void resume(){
isItOK = true;
t = new Thread(this);
t.start();
}
}
@Override
public boolean onTouch(View v, MotionEvent me) {
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
me.getSource();
switch(me.getAction()){
case MotionEvent.ACTION_DOWN:
x = me.getX();
y = me.getY();
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_MOVE:
break;
}
return true;
}
}