2013-10-07 84 views
0

如果這聽起來有點瑣碎,請對不起。在我的遊戲中,幾個圖層類使用相同的精靈表。我想避免在每個圖層類中聲明相同的批處理節點。我怎樣才能做到這一點?幾層使用相同的精靈表

回答

0

你不行。一個節點只能有一個父節點。如果您創建批處理節點並將其添加到一個圖層,則無法將其添加到另一個圖層。如果您將引用傳遞給批處理節點,那麼該工作將會起作用,但會使圖層變得毫無意義,因爲這些精靈將成爲批處理節點添加到的圖層的子節點。

您可以改爲使用單個批處理節點,並通過向批處理節點添加具有空紋理矩形的「圖層精靈」,然後將實際精靈添加到圖層精靈來對精靈進行分組。

要創建具有空紋理的精靈,請使用initWithTexture:rect:方法並使用CGRectZero。或者,如果這種情況不再有效,您也可以使用非常小的矩形,並將精靈的不透明度設置爲0.根據是否在精靈批量精靈中傳播可見性,可見到否的設置也可以起作用。