代码之家  ›  专栏  ›  技术社区  ›  skyfoot

如何在Android中选择画布上的形状

  •  0
  • skyfoot  · 技术社区  · 15 年前

    在Android上创建飞镖板游戏的最佳方法是什么。有没有可能确定一个飞镖击中的地方,在哪个区域使用画布,或者我需要使用不同的方法?

    编辑

    在html5的svg中,我可以使用形状创建一个省道板,并为每个形状分配一个id。当飞镖落在一个形状上时,代码知道它落在哪个形状上,获取它的id并计算得分。e、 g id=“20”id=“60”id=“40”用于镖板上的所有20个区域。

    在Android上我该怎么做呢?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Josh    15 年前

    基于您的更新的新答案:

    你必须手动进行命中检测。触摸事件将为您提供以视图左上角为原点的x-y坐标。计算点如下:

    1. 偏移给定的坐标,使其与电路板的中心对齐(即,触摸电路板的中间会得到(100150),将其转换为(0,0))。
    2. 获取触碰的角度,找出板的哪个编号部分被击中。像这样的 double touchAngle = Math.atan2(y,x) . 这里可能需要从弧度转换成度。
    3. 如果触摸的距离( distance = Math.sqrt(x^2 + y^2) )从中心到倍增环的距离是一个特定的长度。
        2
  •  2
  •   Josh    15 年前

    onDraw View.onTouchEvent 处理用户触摸事件并将其转换为新的DART。