2013-02-26 44 views
1

好吧,當我經歷不同資源的方式上Flashpunk我發現將實體世界的方式有三種: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)); 

所以我的問題是哪一個,我應該使用和時間。

謝謝。

回答

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);