OK,所以我真的很困惑我以前旋转的精灵,也没有问题,如移动通过海洋旋转船,但由于某些原因,我有一个非常大的问题,这个时候。 所以,我创建在资产文件纹理,而不是静态的纹理。 我使用下面的加载质地:
class Assets{
Texture img;
public Assets(){
img = new Texture(Gdx.files.internal("images/PNG.png")
然后,我通过调用调用主类资产:
Assets assets = new Assets()
然后,我有一个类,它是一个动画只是这个主角,因为他的动画不同于其他人物如此不同和多样化。
class Animations{
Guy MYGUY;
Texture firstTexture;
ArrayList<Texture> running;
Sprite CurrentSprite;
public Animations(Texture standingStill, Guy myGuy){
MYGUY = myGuy;
firstTexture = standingStill;
running = new ArrayList<Texture>();
running.add(firstTexture);
CurrentSprite = new Sprite(firstTexture);
public void update (int direction, int state){
CurrentSprite.setPosition(MYGUY.X, MYGUY.Y)
// I have a switch here, but it does nothing yet because I haven't added in different actions for the character.
//However I do have a switch for direction, because that is important right now
switch(state){
case Guy.LEFT:
CurrentSprite.set rotation(180);
//yes there are more, but even rotating 180 won't work correctly
}
然后,我有一个渲染器类绘制的一切,我有对象MyGuy
中呼吁世界里的对象myLand
和我一起绘制它:
myLand.GUY.animation.CurrentSprite(batch);
所以我的问题就出现在转动,每当它旋转180度,它似乎总是绕坐标旋转(0,0),而不是精灵的中心。 因此,它通常结束了,我移动到五到右侧,但随后如果我尝试去左另外它具有双重的距离倒退,但摄像机的位置保持不变,和小伙子通常会消失的左侧或右侧屏幕。