当前位置: 首页 > 知识库问答 >
问题:

在AndroidStudio中旋转移动位图

严永丰
2023-03-14

我正在尝试建立一个简单的“飞鸟”游戏,我需要鸟的图像倾斜,上升时指向上方,反之亦然。然而,当旋转我的图像时,它会在稍微下降或轻触屏幕后部分或完全从屏幕上消失。谁能告诉我怎么解决这个问题吗?

        matrix = new Matrix();
        if(angle > minAngle && angle < maxAngle && !boosting) {
            angle+=avel;
            matrix.postRotate(angle);
        }
        if(boosting) {
            angle = -20;
            matrix.postRotate(angle);
            speed = -30;
        }
        rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, 50, 50, matrix, true);
        bitmap = rotatedBitmap;
        //Now the player object gets this rotated image and adds it to the Canvas

共有1个答案

陈正业
2023-03-14
private Bitmap rotation(Bitmap myBitmap) {

    int rotate = 90; // degree of rotation;


            Matrix matrix = new Matrix();
            matrix.postRotate(rotate);
            if (myBitmap != null) {
                return   myBitmap = Bitmap.createBitmap(myBitmap, 0, 0, myBitmap.getWidth(),
                        myBitmap.getHeight(), matrix, true);
            }

    return myBitmap;
}
 类似资料:
  • 我尝试使用iTextSharp创建一个多页pdf文档。我有一个包含自身方向(横向或纵向)的对象。当第一个对象包含需要横向模式的信息时,我用< code > Document doc = new Document(PageSize。A4.Rotate(),10f,10f,10f,0f)。这工作得很好,直到下一个元素是肖像模式!如果一个元素处于纵向模式,我再次设置页面大小:< code>doc。Set

  • 我正在从相机中保存一个处于横向模式的图像。所以它被保存在横向模式下,然后我在它上面应用一个覆盖层,它也是在横向模式下。我想旋转那个图像,然后保存。例如,如果我有这个 我想顺时针旋转90度一次,这样做,并将其保存到SD卡: 如何做到这一点?

  • 问题内容: 我在chrome中遇到了css3转换旋转过渡的问题。过渡效果很好,但是在完成过渡后,元素移位了一个像素。另一个奇怪的事情是,它仅在页面居中()时发生。如果同时删除过渡,该错误仍然存​​在。 HTML: CSS: 注释掉该行以使其消失。 任何人都有任何想法如何在保持页面居中的同时停止此操作? 我在OSX 10.6.8上使用版本24.0.1312.57 干杯 问题答案: 实际上,只需将其添

  • 假设我使用大小为8的字符数组来表示图像的碰撞掩码。字符的每一位代表一个像素。实际上,对于64x64矩阵,我将使用长[64]阵列。 因此,框将显示为: 45度的示例输出应该是这样的,尽管旋转可以是任何角度。这个形状对于45度旋转可能不准确,因为我是用手做的。 另一个例子是向右旋转10度?这些值可能是错误的,因为从数学上讲,我不知道它将如何精确旋转,但我认为可以安全地假设,如果每个位的覆盖率超过旧形状

  • 问题内容: 我很好奇是否可以通过使用旋转指令进行优化,并为此编写了基准。结果 尚无定论:比两班制快得多,但比单班制慢一点。所以我用C 重写了它,并得到了差不多的结果。通过进行 编译时,g -S -Wall -O3我可以在生成的汇编器中看到指令。我的CPU是Intel Core i5。 该 基准 是很长,肯定不是最好的一段代码,但我不认为这是 打破。还是?根据文档,旋转需要一个周期, 就像换档一样。

  • 问题内容: 我有一个齿轮图像,我想绕固定点连续旋转。 之前,我是通过将图像作为ImageView包含在我的Android类中并对其应用RotateAnimation来实现的。 RotateAnimation ra07 = new RotateAnimation(0, 359, 129, 186); ra07.setDuration(10000); ra07.setRepeatCount(Rotat