Android setScaleCenter()在缩小Sprite-AndEngine时导致问题

Android setScaleCenter()在缩小Sprite-AndEngine时导致问题,android,box2d,andengine,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, s

我正在某个地方制作一个精灵,我想缩小它的比例。以下是我正在使用的代码:

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()),精灵显示,但其位置比原始指定位置稍微向右和向下移动


我无法理解这种行为,如果我放大精灵,情况也是如此。

看起来您试图使用场景坐标而不是局部坐标。 如果我没记错,在使用SetScale函数的情况下,您应该提供本地坐标,请尝试执行以下操作:

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