首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道用户可以看到的表面视图?

如何知道用户可以看到的表面视图?
EN

Stack Overflow用户
提问于 2014-05-13 16:47:12
回答 1查看 933关注 0票数 1

在我的android游戏中,有一个拱廊模式,游戏运行60秒。游戏画布是一个表面视图。我希望计时器只在表面视图对用户可见时才能启动。如何知道表面视图是可见的,以便可以启动定时器。在表面处理方法中启动计时器是没有帮助的,因为它仍然需要一段时间才能看到表面视图,因此用户会丢失很少的宝贵秒。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-13 17:02:21

创建曲面并使其可见所需的时间应该以毫秒为单位,而不是秒。

当调用surfaceCreated()时,该曲面是可见的,但是空白的。您可能要做的是在第一个unlockCanvasAndPost()eglSwapBuffers()调用之后启动计时器,这样您就可以知道屏幕上有一些内容。

这方面的一个变化是将计时器设置为61秒,而不是60秒。直到时钟到达60点,你才显示出“准备好了吗?”消息在SurfaceView上没有真正开始游戏。(在Android突破游戏开始和方向改变后,我会做一个准备-暂停。)

编辑:关于SurfaceView和活动生命周期之间的交互的一些注释是这里

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

https://stackoverflow.com/questions/23637145

复制
相关文章

相似问题

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