setScaleCenter()在缩小Sprite时引发问题 - AndEngine

时间:2011-12-15 07:09:23

标签: android box2d andengine

我正在某个位置制作一个精灵,我想缩小它。这是我正在使用的代码:

sp_nest_r4 = new Sprite(460f, 720f, txRg_nest_maroon);
sp_nest_r4.setScaleCenter(sp_nest_r4.getX(), sp_nest_r4.getY());
sp_nest_r4.setScale(0.454545f);
bdy_nest_r4 = PhysicsFactory.createCircleBody(mPhysicsWorld, sp_nest_r4, BodyType.StaticBody, fxd_spring);
mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(sp_nest_r4, bdy_nest_r4, true, true));
sp_nest_r4.setUserData(bdy_nest_r4);
mScene.attachChild(sp_nest_r4);

现在的问题是,当我设置缩放中心时,精灵不会显示并消失。但是如果我删除了行sp_nest_r4.setScaleCenter(sp_nest_r4.getX(), sp_nest_r4.getY());,则精灵会出现,但它的位置会略微偏向右边和右边。向下比原来的指定位置。

我无法弄清楚这种行为,如果我放大精灵那就是这种情况。

1 个答案:

答案 0 :(得分:4)

看起来您正在尝试使用场景坐标而不是本地坐标。 如果我没记错的话,你应该在setScaleFunction的情况下提供本地坐标,尝试如下:

sp_nest_r4.setScaleCenter(0,0); //upper left corner of sprite