好的,当我在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));
所以我的问题是我应该使用哪一个以及何时使用。
谢谢。
答案 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);