定义(和引用)自定义矩形区域的Godot方法是什么?

时间:2019-01-02 16:22:39

标签: godot

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

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

如何在屏幕上定义矩形并获取其坐标?对于Sprite对象和Node2D,我无法获得边界矩形。我可以使用Area2D + Rectangle并引用矩形的'extent'属性来获取宽度/高度,但这对我来说似乎很麻烦-Area2D用于碰撞检测。

我一般可以做什么?在Godot中,对于以下情况该怎么办?

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

1 个答案:

答案 0 :(得分:0)

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