Java 将触摸屏分成4个象限?
我正在android上创建一个简单的游戏,当你被要求触摸屏幕的某个部分时,你可以触摸屏幕的某个部分。我的主要问题是,是否可以将屏幕分成4个象限,并识别何时触摸了这些象限?或者在我想要象限的地方有4个大按钮会更容易吗?我对安卓编程有点陌生(只喜欢2个半星期),但在这2个半星期里我学到了很多东西 如果你们觉得如果我只使用4个大按钮会更简单,请告诉我Java 将触摸屏分成4个象限?,java,android,screen,theory,Java,Android,Screen,Theory,我正在android上创建一个简单的游戏,当你被要求触摸屏幕的某个部分时,你可以触摸屏幕的某个部分。我的主要问题是,是否可以将屏幕分成4个象限,并识别何时触摸了这些象限?或者在我想要象限的地方有4个大按钮会更容易吗?我对安卓编程有点陌生(只喜欢2个半星期),但在这2个半星期里我学到了很多东西 如果你们觉得如果我只使用4个大按钮会更简单,请告诉我 谢谢大家! 不确定这是否是您正在寻找的答案…您是否查看了您获得了触摸事件的x、y坐标,并且您可以轻松获得视图的宽度和高度,因此您可以自己在逻辑上划分为象
谢谢大家! 不确定这是否是您正在寻找的答案…您是否查看了您获得了触摸事件的x、y坐标,并且您可以轻松获得视图的宽度和高度,因此您可以自己在逻辑上划分为象限。也就是说,如果你不需要做任何自定义绘图或UI,只需要按四个区域,那么使用四个按钮没有什么错。差不多10年后,我在Xamarin.Android的手势监听器中就是这么做的
public class GestureListener : Java.Lang.Object, IOnTouchListener
{
public bool OnTouch(View v, MotionEvent e)
{
var xCenter = v.MeasuredWidth / 2;
var yCenter = v.MeasuredHeight / 2;
if (e.Action == MotionEventActions.Down)
{
float xTouch = 0;
float yTouch = 0;
xTouch = (e.GetX() - xCenter);
yTouch = yCenter - e.GetY();
Console.WriteLine("x: " + xTouch + " y: " + yTouch);
}
return true;
}
}
那我可能会用这四个按钮。他们的方法就是添加到字符串中……谢谢。我必须做自定义绘图,但我可以只使用按钮的图像,所以它应该工作