2013-03-25 48 views
1

我有兩個Cocos2d中的CCNode,我想動態縮放並相互同步。這兩個CCNode都是後臺節點。從視覺上看,一個CCNode NodeA在y方向上位於另一個CCNode NodeB之上。但是,當我在同一時間縮放兩個節點如在下面的代碼:Cocos2d - 如何相對於彼此縮放兩個CCNode

編輯#1 -

節點B是一個CCLayer,HUDLayer的一部分。 HUDLayer不會擴展,但HUDLayer中的NodeB可以擴展。因此,代碼看起來像

NodeA.anchorPoint = ccp(0.5f, 0.0f); 
NodeA.scale = scale; 
HUDLayer.NodeB.anchorPoint = ccp(0.5f, 0.0f); 
HUDLayer.NodeB.scale = scale; 

4) Would NodeB being part of a CCLayer effect the Nodes scaled relative positions? 

結束編輯#1

編輯#2

The contentSize of CCNode is (0,0). How do I set the contentSize of CCNode manually? 

結束編輯#2

編輯#3

我找到了這個post,其中一個答案提到將CCNode的relativeToAnchorPoint屬性設置爲YES。我無法在Google上找到如何操作。有誰知道如何設置relativeToAnchorPoint?

結束編輯#3

NodeA上低於節點B在y方向上。因此,這帶來了幾個問題:縮放時在底部

1) Are CCNodes scaled with respect to an anchorPoint? 
2) Why is NodeA dropping below NodeB in the y direction? 
3) How can two CCNodes be scaled with their relative positions remaining constant? 
+0

它不是關於定位點而是關於定位點,而是它們的位置。因此,在.5,1的錨點將其最高點保持在其增長的相同位置。 – dqhendricks 2013-03-25 15:20:40

+0

那麼我需要爲兩個節點找到一個anchorPoint,以便它們保持相對於彼此的固定? – 2013-03-25 15:59:54

+0

我不知道你尋找的確切效果是什麼,但基本上是這樣。請記住,錨點相對於對象的contentSize,並且添加子節點不會更改contentSize。只有紋理或手動設置纔會影響contentSize。 – dqhendricks 2013-03-25 16:21:42

回答

3
  1. 看,1特別是如果他們是不一樣的尺寸
  2. 設置其anchorpoint到0.5,0所以他們都一致
+0

這仍然不起作用。必須是我缺少的其他東西。我在編輯#1中添加了更多信息。順便說一句,我有你的書和它的一本好書。 – 2013-03-25 15:27:10