surfaceView 如何实现 bitmap的移动

-droidcoffee- 2011-05-20 11:10:57
我想采用:局部刷新

而不是将整个的 surfaceView 全部清空, 然后重新绘制,

-------------

请问有啥好的解决办法么?

...全文
669 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
CyberLogix 2011-05-22
  • 打赏
  • 举报
回复
局部刷新有相应的API,想lockCanvas住在调用绘制函数
f_wf01 2011-05-21
  • 打赏
  • 举报
回复
你可以在绘图时不清屏幕,直接绘图,但这样有一个严重的问题就是,surfaceView是双缓存,这样你绘制的更新内容只绘制到了其中一个缓存内,这样就出现了闪烁,如你的问题,你可以先创建一个Bitmap,并将其作为画布,在更新后直接将该Bitmap重绘倒lockCanvas获得的缓存画布中并提交.所以,精灵的绘制优化完全由你在自己的Bitmap中实现,这样非常灵活,并且效率较高
ye7813629 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lieri111 的回复:]
最好不要刷屏,因为刷屏一般都会影响用户体验,你可以通过坐标,或者marginleft来控制相对位置
[/Quote]
这个我就不懂了,就算你marginleft控制了位置,你的帧还不是一样要刷的吗?不刷新的话,就算坐标变化屏幕也不会有任何反应的
-droidcoffee- 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lieri111 的回复:]
最好不要刷屏,因为刷屏一般都会影响用户体验,你可以通过坐标,或者marginleft来控制相对位置
[/Quote]

如果游戏中要实现sprite的移动 , 我该咋办?

其实我想问的也就是一个关于游戏的 sprite移动问题
ye7813629 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 id19870510 的回复:]
引用 1 楼 ye7813629 的回复:
surfaceView都是刷屏的吧


不懂, 你的意思是??
[/Quote]
surfaceView应该都是整个屏幕刷新的吧,局部刷新我没试过,你去看看ViewGroup能不能局部刷新
passself 2011-05-20
  • 打赏
  • 举报
回复
最好不要刷屏,因为刷屏一般都会影响用户体验,你可以通过坐标,或者marginleft来控制相对位置
-droidcoffee- 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ye7813629 的回复:]
surfaceView都是刷屏的吧
[/Quote]

不懂, 你的意思是??
ye7813629 2011-05-20
  • 打赏
  • 举报
回复
surfaceView都是刷屏的吧
-droidcoffee- 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ye7813629 的回复:]
引用 3 楼 lieri111 的回复:
最好不要刷屏,因为刷屏一般都会影响用户体验,你可以通过坐标,或者marginleft来控制相对位置

这个我就不懂了,就算你marginleft控制了位置,你的帧还不是一样要刷的吗?不刷新的话,就算坐标变化屏幕也不会有任何反应的
[/Quote]

我也不懂, 我现在就想搞明白,如何实现局部刷新, 难道 surfaceView 不支持么?

我看他有个 方法 lockCanvas(Rect dirty)

搞不懂这个是干嘛的。。。。。。。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧