什么是在Android上创建飞镖游戏的最佳方式。是否有可能确定飞镖击中的位置以及使用画布在哪个区域?或者我是否需要使用不同的方法?
修改
对不起我不认为我已经很好地解释了我的问题。
在html5的svg中,我可以使用形状创建一个飞镖板,并为每个形状分配一个id。当飞镖落在一个形状上时,代码知道它落在哪个形状上,得到它的id并计算得分。例如id =“20”id =“60”id =“40”用于飞镖盘上的所有20个区域。
我如何在Android上执行此操作?
答案 0 :(得分:2)
你有正确的想法。一种简单的方法是在活动中显示自定义DartBoardView。视图将使用重写的onDraw来绘制飞镖板图像以及用户“抛出”的任何飞镖。然后,视图将使用View.onTouchEvent来处理用户触摸事件并将其转换为新的飞镖。
答案 1 :(得分:1)
基于您的更新的新答案:
您将不得不手动进行命中检测。触摸事件将为您提供x-y坐标,其中视图的左上角为原点。计算点如下:
double touchAngle = Math.atan2(y,x)
这样的东西。可能需要在这里将弧度从弧度转换为度数。distance = Math.sqrt(x^2 + y^2)
)距离特定长度,则基点值乘以2或3,以说明乘数环。