如何四个精灵旋转到这些精灵
的焦点我写了下面的代码:如何四个精灵旋转到这些精灵
int a=0, b=0, c=0, d=0;
sprite[number[0]].setPosition(160, 600);
sprite[number[1]].setPosition(560, 600);
sprite[number[2]].setPosition(360, 400);
sprite[number[3]].setPosition(360, 800);
seiten[number[4]].setPosition(-35, 0);
seiten1[number[4]].setPosition(825, 0);
sprite[number[0]].setOrigin(200,0);
sprite[number[1]].setOrigin(-200,0);
sprite[number[2]].setOrigin(0,-200);
sprite[number[3]].setOrigin(0,-200);
sprite[number[0]].setRotation(a++);
sprite[number[1]].setRotation(b++);
sprite[number[2]].setRotation(c++);
sprite[number[3]].setRotation(d++);
我想旋转精灵一样:为了这个目的 不幸的是,这段代码doesn't工作。我如何改进我的代码?
编辑:
为了更好地理解: 我有十个精灵用不同的颜色,他们四人被显示在游戏画面上。巧合决定了哪个精灵将被显示,但是他们的每个精灵都有不同的颜色。现在我想旋转图像中显示的通道中的四个精灵。这四个精灵应该打开粉红色的精灵,这实际上并不存在于我的代码中。这个粉色精灵只是旋转中心的一个符号(P(360 | 600))。四个精灵在同一条车道上旋转。
使用我的代码,四个精灵旋转,但不在图像中显示的相同车道上。我希望我的问题现在更清楚。
我猜你可以使用sprite.rotate()并将sprite.setorigin()设置为你想旋转的点。
试试这个:
Sprite sprites[],centralSprite;
float centerX=200,centerY=200,radius=100;
SpriteBatch spriteBatch;
@Override
public void create() {
spriteBatch=new SpriteBatch();
Texture badlogic=new Texture("badlogic.jpg");
centralSprite=new Sprite(badlogic);
centralSprite.setSize(50,50);
centralSprite.setPosition(centerX,centerY);
centralSprite.setOriginCenter();
sprites=new Sprite[4];
for (int i=0;i<sprites.length;i++) {
sprites[i] = new Sprite(badlogic);
sprites[i].setSize(50,50);
sprites[i].setRotation(90 * i);
sprites[i].setPosition(centerX + radius * MathUtils.cosDeg(sprites[i].getRotation()),
centerY + radius * MathUtils.sinDeg(sprites[i].getRotation()));
sprites[i].setOriginCenter();
}
}
@Override
public void render() {
Gdx.gl.glClearColor(1,0,1,1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
spriteBatch.begin();
for (int i=0;i<sprites.length;i++) {
sprites[i].rotate(1);
sprites[i].setPosition(centerX + radius * MathUtils.cosDeg(sprites[i].getRotation()),
centerY + radius * MathUtils.sinDeg(sprites[i].getRotation()));
sprites[i].draw(spriteBatch);
}
centralSprite.draw(spriteBatch);
spriteBatch.end();
}
是否也可以改变setOrigin中的数字来让小精灵按我的意愿旋转?我尝试了很多数字,但没有成功。 – user8340536
我的解决方案是否不符合您的要求? – Aryan
不,不幸的是,这个解决方案不起作用,特别是不适合我的目的。 – user8340536
不,那是行不通的。 – user8340536