1

好吧,当我浏览 Flashpunk 上的不同资源时,我发现了三种向世界添加实体的方法:

add(new Entity(10, 10));
//***************
var _entity:Entity;
//In constructor:
_entity = new Entity(10,10);
add(_entity);
//***************
FP.world.add(new Entity(10,10));

所以我的问题是我应该使用哪一个以及何时使用。

谢谢你。

4

1 回答 1

2
add(new Entity(10, 10));

这仅适用于add()定义的任何上下文。我没有使用过这个特定的库,但假设它将在一个名为类似的类World以及从它继承的任何东西中。

var entity:Entity = new Entity(10, 10);
add(entity);

这只是将第一个示例分成两行。它还允许您在将其添加到世界之前和之后引用该特定实体,而在另一个示例中,您无法引用您添加的实体。

FP.world.add(new Entity(10,10));

在这里,我假设有一个类FP的静态属性world表示当前相关的 World 实例。它与第一个示例执行相同的操作,只是您可以在任何上下文中执行此操作。我会避免使用它;您会发现自己以此为借口从代码中的意外位置向世界添加内容,从而导致代码可读性降低、沮丧和更难的调试体验。

我的偏好是示例 2。它更具可读性,它建议您在add适当的上下文中使用,它允许您更改您创建的实体:

var entity:Entity = new Entity();
entity.property = newValue;

add(entity);
于 2013-02-27T00:40:51.997 回答