首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用旋转设置动画

使用旋转设置动画
EN

Stack Overflow用户
提问于 2011-07-25 19:30:02
回答 2查看 838关注 0票数 0

我正在写一个游戏,现在我开始意识到性能必须提高(link to game (market))。

如果你不能查看它:这是一个与鸟的蛇一样的游戏。您控制第一只鸟(通过绘制一条路径让它跟随/使用dpad),然后一群较小的鸟排成一条线跟随它。这些鸟是动画的,可以旋转180度并进行镜像(取决于它们飞过的位置)。

目前,我只制作第一只鸟的动画,然后缩小它,并将其保存在一个不可见的元素中,该元素在4帧之后显示(流畅的动画目的),而不是单独地动画每只鸟。因此,对于你在屏幕上看到的每只鸟,有4个对象,每个对象都有一个位图。现在我的问题是,我是应该制作一个spritesheet并减少可能的旋转次数(例如,每10°一组精灵),还是计算每只鸟的动画,还是保持我的方式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-26 21:32:30

手工制作旋转的精灵工作表是没有意义的,我只需要加载一个精灵工作表。然后为每个角度制作一个位图数组,并在每个角度上旋转和复制基础精灵工作表。(您可能需要一个数组数组来处理动画,或者对精灵工作表的每一帧进行单独的旋转)这也允许您在以后轻松地更改您的艺术。

类似于:

代码语言:javascript
复制
Bitmap baseFrame;
Bitmap rotatedFrame[]=new Bitmap[360/10];

...

Matrix rotationMatrix=new Matrix();
rotationMatrix.setRotate(n*10);
rotatedFrame[n]=Bitmap.createBitmap(baseFrame,0,0,
                                    baseFrame.getWidth(), baseFrame.getHeight(),
                                    rotationMatrix, false);

旋转图像的宽度和高度可能需要比基础图像更大,您可能希望将其设置为围绕中心旋转,但您的想法是正确的

顺便说一下,

看看你的游戏截图,我怀疑画出你的背景可能比旋转鸟儿有更大的效果。您可能希望对代码进行概要分析,以查看绘制每个图像需要多长时间。( http://developer.android.com/guide/developing/debugging/debugging-tracing.html )。我会确保你的背景是以RGB_565格式加载的,在软件中渲染会快得多。

我发现android中的旋转图像速度惊人,能够以良好的帧率旋转数百个小位图。

票数 1
EN

Stack Overflow用户

发布于 2013-09-26 15:36:35

以下是旋转动画的简单说明:

http://androidtutorials60.blogspot.in/2013/09/simple-rotate-animation-in-android.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6815378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档