【问题标题】:How to rotate an moving image in android如何在android中旋转运动图像
【发布时间】:2011-12-13 06:55:35
【问题描述】:

我正在开发一款 Android 游戏。在这个游戏中,一些火车在轨道上行驶。能够分别使用水平列车和垂直列车的两张列车图像来水平和垂直移动列车。

现在我想将在水平轨道上行驶的火车移动到垂直方向,我想将其可视化,因为它现在轮流并在垂直轨道上移动。

我该怎么做,我需要为每个转弯像素使用这么多图像,还是有其他方法可以让火车转弯。

请推荐 谢谢。

编辑:

我正在使用 draw 来 draw() 图像和 update() 来改变它的位置。

public void draw(Canvas canvas) {
        canvas.drawBitmap(bitmap, x - (bitmap.getWidth() / 2), y - (bitmap.getHeight() /2), null);
    }

public void update() {
        if (!touched && !paused && !isDrag) {
            x += (speed.getXv() * speed.getxDirection()); 
            y += (speed.getYv() * speed.getyDirection());
        }

        if (!touched && !paused && isDrag) {
            x += (speed.getXv() * speed.getxDirection())* 2; 
            y += (speed.getYv() * speed.getyDirection())* 2;
        }
    }

【问题讨论】:

    标签: android android-animation android-image


    【解决方案1】:

    您的问题可能属于 http://gamedev.stackexchange.com

    但是,假设您使用的是某种 Canvas,它有一种方法可以围绕特定点进行旋转。 http://developer.android.com/reference/android/graphics/Canvas.html#rotate%28float%29

    【讨论】:

    • 我试过 Canvas.rotate() 但它不起作用 :(,请查看我的编辑,我正在添加一些代码
    • 不工作怎么办?你绕火车的中心旋转了吗?如果使用 rotate(float angle) 方法,它会围绕 (0,0) 旋转。 gamedev.stackexchange.com/questions/15933/…
    • 所以使用:rotate(90, train.getX(), train.getY()) 代替。
    猜你喜欢
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多