【问题标题】:What is the Godot way to define (and refer) custom rectangle areas?定义(和引用)自定义矩形区域的 Godot 方法是什么?
【发布时间】:2019-01-02 16:22:39
【问题描述】:

我来自 Phaser + Tiled 世界,如果我需要游戏世界中的一些矩形区域(如玩家区域、生成区域等),我可以在 Tiled 中绘制矩形,然后从 Phaser 获取它的坐标.js 并根据需要使用。而且我似乎坚持在 Godot 中做类似的事情。

对于某些任务,我可以使用带有矩形内部和碰撞事件的 Area2D。但这并不总是足够的。

如何在屏幕上定义矩形并获取其坐标?对于 Sprite 对象和 Node2D,我无法获得边界矩形。我可以使用 Area2D + Rectangle 并参考矩形的“范围”属性来获取宽度/高度,但这对我来说似乎是开销 - Area2D 用于碰撞检测。

一般情况下我可以做什么?对于以下场景,Godot 可以做什么?

  1. 相机限制。我有带有背景渐变的 Sprite,可以缩放到所需的世界大小,我想在该 Sprite 的宽度/高度上设置相机限制。
  2. 英雄移动限制。玩家无法进入世界的一半,因此任何向 x > MIDDLE 的移动都将被拒绝。我可以在代码中设置常量 MIDDLE,但我想将允许的区域绘制为矩形并引用它的坐标。
  3. 生成区域。标记应由代码创建新对象的世界某个地方(可能只是点,而不是矩形)。

【问题讨论】:

    标签: godot


    【解决方案1】:

    您可以在脚本中使用Rect2 类来定义自定义矩形。然后您可以使用它来检查它是否包含 Vector2 或另一个 Rect2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 2015-03-08
      相关资源
      最近更新 更多