Flashpunk。向世界添加实体的方法

时间:2013-02-26 20:00:38

标签: actionscript-3 flash entity flashdevelop

好的,当我在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));

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

谢谢。

1 个答案:

答案 0 :(得分: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代表当前世界的相关实例。它与第一个示例完全相同,只是您可以在任何上下文中执行此操作。我会避免使用它;你会发现自己使用它作为借口,从代码中的意外位置向世界添加内容,从而降低代码可读性,挫折感和更难的调试体验。

我的偏好是示例2.它更具可读性,它表明您在适当的上下文中使用add,并且它允许您对您创建的实体进行更改:

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

add(entity);