【问题标题】:Libgdx Actor.setBounds() as a hexagon (or other non-rectangular shape)Libgdx Actor.setBounds() 作为六边形(或其他非矩形形状)
【发布时间】:2018-03-31 22:35:48
【问题描述】:

我正在尝试让一堆六边形图块具有交互性。我相信最简单的方法是将它们创建为 Actor 并使其可触摸,但我不知道如何设置边界以使它们成为六边形而不是矩形。

【问题讨论】:

    标签: libgdx scene2d


    【解决方案1】:

    重写hit() 方法以测试六边形的形状。查看 Actor 源代码以了解它如何用于矩形。

    【讨论】:

    • 谢谢,这很有帮助。跟进问题,我在我的命中方法中使用以下内容来测试我是否可以从命中框切出一个角落:return x >= 0 && x < getWidth() && y >= 0 && y < getHeight() && y > ((-6/20)*x + 6) ? this : null; 这部分y > ((-6/20)*x + 6) 似乎做到了,所以它只记录y > 6 的点击。这有什么原因吗?
    • 整数数学,6/20 等于零。使用 6f/20f。
    猜你喜欢
    • 1970-01-01
    • 2016-08-23
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    相关资源
    最近更新 更多