2013-12-20 446 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。 –