私が持っているのは何かなので、ビットマップをクリックしてドラッグすると指に追従しますが、実際には右に移動することしかできません。必要に応じて、左に少し下向きの角度を付けることもできます。しかしそれ以外は、物を動かすことはほぼ不可能です。私はそれをすべての方向に動かすことができる必要があります、あなたは私を助けてくれますか?これは私のコードです:
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
clear.setARGB(0, 0, 0, 0);
AndroidDudeHitbox.set(AndroidX, AndroidY, AndroidX + AndroidDude.getWidth(), AndroidY + AndroidDude.getHeight());
canvas.drawRect(AndroidDudeHitbox, clear);
canvas.drawBitmap(AndroidDude, AndroidX - (AndroidDude.getWidth()/2), AndroidY - (AndroidDude.getHeight()/2), null);
if (AndroidX > canvas.getWidth() || AndroidX < 0 || AndroidY > canvas.getHeight() || AndroidY < 0) {AndroidX = 30; AndroidY = canvas.getHeight()/2;}
invalidate();
}
@Override
public boolean onTouch(View v, MotionEvent event)
{
try {
Thread.sleep(30);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (AndroidDudeHitbox.contains((int)event.getX(), (int) event.getY()))
{
switch (event.getAction())
{
case MotionEvent.ACTION_MOVE:
AndroidX = (int) event.getX();
AndroidY = (int) event.getY();
break;
}
}
return true;
}
編集:ビットマップを直接右に移動できないことがわかりました。直接上下左右に動かすことができます。しかし、他にはありませんでした。