我正在制作一款游戏元素,一名男子向目标射击一枚火箭,然后目标爆炸。我用画布和线程做这个,总是重绘整个屏幕。 可以通过其他方式完成吗?因为如果会有很多动作,游戏会吃掉很多的记忆。所以我正在寻找优化以及如何在不重绘整个屏幕的情况下为对象设置动画。安卓游戏画布
Q
安卓游戏画布
1
A
回答
1
如果你使用surfaceview或纹理视图,你可以锁定屏幕的一部分,然后重画那个。 (我推荐textureview over surfaceview)。
Canvas android.view.TextureView.lockCanvas(Rect dirty)。 public Canvas lockCanvas(Rect dirty)。 在API级别14中添加。 与lockCanvas()类似,但允许指定脏的矩形。该矩形内的每个像素都必须写入;然而,在下一次调用lockCanvas()时,脏矩形外部的像素将被保留。如果底层表面纹理不可用(参见isAvailable())或者表面纹理已经连接到图像生成器(例如:相机,OpenGL,媒体播放器等),则此方法可返回null
1
只是一个建议。
为什么你不使用游戏框架,如libgdx? 它会带你从纯粹的android代码,但它会让你专注于你的游戏,而不是内存管理。(你的游戏也可以在其他平台上播放)
如果你喜欢这个想法,还有其他的工具(unity,gamesalad等)
相关问题
- 1. 安卓游戏,画布或opengl?
- 2. 安卓动画游戏开发
- 3. 安卓游戏TCG
- 4. 安卓双人游戏,在线游戏
- 5. J2ME游戏画布
- 6. 安卓游戏图像
- 7. 最小化安卓游戏
- 8. 互动安卓游戏
- 9. 安卓游戏控制
- 10. 画布游戏动画
- 11. 安卓游戏的安装次数
- 12. 安卓画布不画图
- 13. android ImageView vs游戏画布
- 14. 复位HTML5画布游戏
- 15. 如何添加背景图像在安卓游戏应用程序的画布
- 16. 安卓游戏的雪碧和动画制作工具
- 17. 转换简单的Java游戏中的安卓游戏到Facebook
- 18. 安卓游戏 - 跟踪时间
- 19. 安卓游戏从RES /视频原始
- 20. 安卓游戏中的跳转方法
- 21. 如何登录Unity安卓游戏?
- 22. 安卓井字游戏中奖条件
- 23. 敌人产卵系统安卓游戏
- 24. 安卓倒数计时器的游戏
- 25. 在小型安卓游戏中异步
- 26. 安卓游戏的逻辑流程
- 27. 安卓游戏开发 - 移动电话
- 28. 安卓游戏时间处理
- 29. 创建安卓游戏菜单
- 30. 安卓游戏中心,SHA1密钥
如果我需要animati上?当物体移动时,我是否必须重绘背景?那里的表演呢? – Droid
Textureview允许动画,设置线程来锁定画布,执行编辑画布的'draw'方法,然后解锁;必要时重复(代码与SurfaceView类似,其中有很多教程)。您将不得不重新绘制要绘制到的矩形中的所有内容。我不确定确切的表现,但我会认为它是做动画的最好的非opengl方法。我有一个较小的动画,但我不得不拖延,因为它太快了。 – Whitney