나는 사용자가 화면을 터치 할 때 단순히 직사각형을 만드는 게임을하고있다. touchEvent의 X 좌표와 Y 좌표를 내 rect의 "float"로 가져 오는 방법을 모르겠다. float을 넣을 때마다 X, Y 좌표의 숫자는 "(float, float, int, int)에 적용 가능한 생성자가 없습니다"라고 말합니다. 나는 그것이 무엇을 의미하는지 모른다. Android에서 onTouchEvent를 그리는 사각형을 만드는 방법은 무엇입니까?
대신 당신이 플로트에 대한 RectF을 사용할 수 있습니다 당신은 INT 값 Rect를 사용하는public class GameBoard extends View {
private ArrayList<Rect> rectangles = new ArrayList<Rect>();
public GameBoard(Context context) {
super(context);
}
@Override
public boolean onTouchEvent (MotionEvent event) {
float xCoor = event.getX();
float yCoor = event.getY();
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
rectangles.add(new Rect(xCoor, yCoor, 10, 40));
break;
}
return true;
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
for (Rect rect : rectangles) {
canvas.drawRect(rect, paint);
}
}
}
"캐스팅"에 대한 설명에 정말로 감사 드리며 지금은 소수를 사용하지 않는 이유를 알고 있습니다. – user3055552