2013-12-20 442 views
1

我正在尋找翻轉Pixi.js中的DisplayObjectContainer,從中心。我發現縮放到-1可用於翻轉,但我無法從中心獲得它,就像您可以使用Sprite的錨一樣。我還發現這個link,解釋了我想要在WebGL方面做什麼,但我當然試圖在Pixi的更高層次上做到這一點。有任何想法嗎?如何在中心縮放(翻轉)pixi.js

感謝

回答

1

我猜你有幾種選擇,保持高水平。希望一個適合你的特殊情況。

1:翻轉容器,然後偏移位置:

container.scale.x *= -1; 
container.position.x = centerX - container.scale.x * containerWidth/2; 

參見此工作示例:http://codepen.io/ianmcgregor/pen/BmbHe

2:中心的DisplayObjectContainer內的內容:

var content = new PIXI.Sprite(texture); 
content.position.x = 0 - content.width/2; 
container.addChild(content); 

container.scale.x *= -1; 

3:使用Sprite來代替DisplayObjectContainer。這種方法的缺點是它需要有紋理。

+0

謝謝你的幫助!我正在嘗試#3,而且我仍然遇到錨定問題。我將錨設置爲PIXI.Point(0.5,0.5),並且它仍然存在,但父Sprite仍然不能從中心縮放。有任何想法嗎? –

+0

我調整了codepen [link](http://codepen.io/ianmcgregor/pen/LJqHI)。意識到使用精靈的最大缺點是它必須具有一些紋理。你與新代碼有什麼不同? – imcg

+1

非常感謝!我意識到我的父母雪碧的孩子不在裏面。我忘記了渲染器的透明度設置爲true,因此我無法清楚地看到事情。我的項目有點複雜。再次感謝。我堅持你的答案#3。 –