2013-04-24 65 views
0

之間的關係水平,即什麼是我想要翻轉精靈scaleX和anchorPoint

sprite.scaleX = -1; 

我注意到的是,精靈圍繞其左下角翻轉。然而,由於我不想搞亂我對精靈的定位(我希望精靈留在原來的位置),所以我試圖將其定位點設置爲(1,0)

sprite.anchorPoint = ccp(1,0); 

我的理由是這樣的:

由於精靈應該anchorPoint左右翻轉,如果我設置了anchorPoint它的右下角則是角球隨後將成爲改變精靈的「左」底部角落;我應該可以使用新的anchorPoint來移動精靈,就像我對anchorPoint (0,0)的普通精靈所做的一樣。

然而,顯然它沒有按預期工作。我錯過了什麼?

編輯

我真正想要做的是翻轉一個精靈,然後可以通過左下角來控制它的位置 - 好,我看到精靈的左下角。我不認爲我完全理解scaleX = -1是如何應用於anchorPoint的。如果有人能向我解釋這些參數背後的概念,那麼這將對我有很大的幫助。

+0

爲什麼不使用sprite.flipX? – LearnCocos2D 2013-04-24 19:52:31

+0

@ LearnCocos2D我曾嘗試過,但沒有任何效果。我猜測精靈包含多個節點,而flipX只處理單個紋理 – lynnard 2013-04-24 19:58:21

+0

您也可以使用0,0定位點,然後將contentSize.width添加到position.x以獲得相同效果(原點位於右下角) – LearnCocos2D 2013-04-24 20:15:49

回答

0

我必須糾正自己的斷言,設置anchorPoint沒有幫助。實際上,將anchorPoint設置爲(1,0)正是解決問題的方法,只是某種錯誤使我無法在測試中識別它。