安卓游戏 Canvas

标签 android canvas android-canvas

我正在制作游戏的一个元素,其中一个人向目标发射火箭,然后目标爆炸。我用 Canvas 和线程来做这个,总是重绘整个屏幕。 可以用其他方式完成吗?因为如果有很多 Action ,游戏会吃掉很多内存。所以我正在寻找优化以及如何在不重绘整个屏幕的情况下为对象设置动画。

最佳答案

如果您使用的是 surfaceview 或 textureview,您可以锁定屏幕的一部分并重绘它。 (我推荐 textureview 而不是 surfaceview)。

Canvas android.view.TextureView.lockCanvas(Rect dirty)。 public Canvas lockCanvas(矩形脏)。 在 API 级别 14 中添加。 就像 lockCanvas() 但允许指定脏矩形。必须写入该矩形内的每个像素;然而,下一次调用 lockCanvas() 时将保留脏矩形之外的像素。如果底层表面纹理不可用(请参阅 isAvailable() 或如果表面纹理已经连接到图像生成器(例如:相机、OpenGL、媒体播放器等),则此方法可以返回 null

关于安卓游戏 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24493798/

相关文章:

android 从 SD 卡读取图像

android - 设置 OnCancelListener 时的 DialogFragment 空指针

Android MVVM 模式 - 用户输入

android - 检测网络状态变化并从广播接收器启动服务

html5 - 拖动 Canvas

android - 在撰写中获取可见性 Canvas

Android - 从 WebView 绘制到 PDF Canvas

javascript - Jcanvas图层碰撞

javascript - 无法在本地主机上查看 html5 Canvas 内容

android - Surface和Canvas的关系 : Android