位置: 编程技术 - 正文

android游戏之SurfaceView(surf apk android)

编辑:rootadmin
先说Surface 打开这个文件:frameworksbasecorejavaandroidviewSurface.java 对于Surface这个class在开始有这样一段注释:Handle onto a raw buffer that is being managed by the screen compositor. 从这里就明白了Surface 的用处了。其翻译:Surface是原始图像缓冲区(raw buffer)的一个句柄,而原始图像缓冲区是由屏幕图像 合成器(screen compositor)管理的。 简单一点, Surface 就是一个管理屏幕显示图像的数据的。 在这个class里面,你可以看到他定义了:private final Canvas mCanvas = new CompatibleCanvas(); CompatibleCanvas这个class是 Surface 这个class的内部class.。 好,CompatibleCanvas 这个class有几个方法定义: public int getWidth() public int getHeight() public void setMatrix(Matrix matrix) public void getMatrix(Matrix m) 为什么要说这个呢?如果你不懂得话,那先要了解Canvas 。 Canvas是什么? CompatibleCanvas这个class定义的地方有详细的英文说明,其英文说明太长,这里就不贴出来了。一般可以将Canvas理解为一个画布!或是一个呈现图像等资源显示的一个面板!比如,你要画画给别人看,那你的画总要画到一张纸上或是什么上面吧,这里 Canvas 就相当于这张纸。 那么上面的几个方法就很好理解了,getWidth() 获取这个画布的宽,getHeight 获取其高度 。当然setMatrix 就是对这个画布的大小等形状的处理了。 说了这么多,其实并没有那么复杂。可以理解为,Surface 就是一个对这个Canvas 的管理和处理的,Canvas 就是一个呈现画面的画布!再说SurfaceView 打开这个文件:frameworksbasecorejavaandroidviewSurfaceView.javapublic class SurfaceView extends View {.......} 可以看出, SurfaceView 其实就是一个继承View 的一个class这个class有这样一段代码: final Surface mSurface = new Surface(); 定义了一个 Surface。这个里有意大段英文说明: * Provides a dedicated drawing surface embedded inside of a view hierarchy. * You can control the format of this surface and, if you like, its size; the * SurfaceView takes care of placing the surface at the correct location on the * screen SurfaceView提供了一个专门用于绘制的surface,这个surface内嵌于。你可以控制这个Surface的&#;式和尺寸。Surfaceview控制这个Surface在屏幕的正确绘制位置。 简单理解:就是 SurfaceView提供了在当前屏幕当前这个view绘制这个surface。 其实对于surface ,SurfaceView 提供了一个一个可见区域,只有在这个可见区域内 的surface部分内容才可见,可见区域外的部分不可见。 注意,如果surface上面 有透明控件,那么它的每次变化都会引起框架重新计算它和顶层控件的透明效果,这会影响性能。 在这个class里面还定义了一个管理、获取这个surface 的变量: private SurfaceHolder mSurfaceHolder = new SurfaceHolder() 可以通过SurfaceHolder这个接口获取 surface 以及 他的Canvas 。然后在这个Canvas 上绘制你想要的画面。这里要说一下SurfaceView 几个状态的变化: surfaceview 被创建;surfaceview 可见;surfaceview隐藏,surfaceview 被销毁。surfaceview的核心在于提供了两个线程:UI线程和渲染线程。这里应注意:1> 所有SurfaceView和SurfaceHolder.Callback的方法都应该在UI线程里调用,一般来说就是应用程序主线程。渲染线程所要访问的各种变量应该作同步处理。2> 由于surface可能被销毁,它只在SurfaceHolder.Callback.surfaceCreated()和 SurfaceHolder.Callback.surfaceDestroyed()之间有效,所以要确保渲染线程访问的是合法有效的surface。

推荐整理分享android游戏之SurfaceView(surf apk android),希望有所帮助,仅作参考,欢迎阅读内容。

android游戏之SurfaceView(surf apk android)

文章相关热门搜索词:android rpg游戏,android 游戏推荐,android game,android game,surf apk android,android su,android的游戏,surf apk android,内容如对您有帮助,希望把文章链接给更多的朋友!

关于国内Android游戏的真相 为何我极端不赞成做国内安卓市场,有以下几个原因:1.开发慢,适配难这是老生常谈了,前几年大家头疼的是开发人力成本和安卓程序员难找,今年有

直接拿来用!最火的Android开源项目 GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上。更何况,基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项

Android开发热门资料(个) 在移动开发如火如荼的今天,Android开发市场广阔,是目前市场占有率最高的智能手机操作系统。这个文档里整理个优质的Android开发资料,网上的资料

标签: surf apk android

本文链接地址:https://www.jiuchutong.com/biancheng/371216.html 转载请保留说明!

上一篇:[Android游戏开发经验分享]关于Sockets与服务端建立长连接交互(android游戏开发 教程)

下一篇:关于国内Android游戏的真相(关于国内邮政汇兑冻结下列说法正确的有)

  • 多扣的增值税怎么做账务处理
  • 企业销售固定资产车辆怎么开票
  • 融资租赁印花税怎么交
  • 非增值税应税项目可以抵扣进项税吗
  • 小型微利企业所得税率
  • 政府的慰问金一般有多少钱
  • 增值税纳税申报表在哪里打印
  • 给中间人回扣犯罪吗
  • 已认证专票有误怎么回事
  • 高铁票抵扣税率怎么计算
  • 税务机关对企业实施特别纳税调整,涉及企业向境外
  • 影响固定资产折旧的基本因素
  • 账簿登记的重要内容
  • 个人咨询服务费合同
  • 产权转移书据印花税是双方交吗
  • 出纳现金日记账表格模板
  • 公司利润如何提高
  • 资产负债中应交税费怎么算
  • 税控盘的抵扣怎么填
  • 民办非企业捐赠支出会计处理
  • 补缴社保差额有滞纳金吗
  • 建筑劳务预缴税款后怎么申报
  • 1697510839
  • 使用本地账户登录什么意思
  • 买入投资性房地产的会计处理
  • qtzgacer.exe - qtzgacer进程是什么文件 .作用是什么
  • 强制关闭mac系统的快捷键
  • fdisk分区工具怎么用
  • 应付账款周转天数长对企业的影响
  • PHP:ftp_rename()的用法_FTP函数
  • PHP:pg_fetch_result()的用法_PostgreSQL函数
  • 销售费用税前扣除吗
  • PHP:pcntl_wstopsig()的用法_PCNTL函数
  • 固定资产当月出售还要计提折旧吗
  • 高新技术企业产品是什么意思
  • yii2中LinkPager增加总页数和总记录数的实例
  • 酒类销售企业广告宣传语
  • 差旅费报销会计处理
  • 工会经费是如何计提的
  • 资产处置损益怎么结转到本年利润
  • 企业预收账款缴纳个税吗
  • 准则规定的内容是
  • 成本核算的意义是什么
  • 理财产品的分类
  • sql 判断字符串中是否包含数字
  • sql查询出各科成绩单
  • 补缴的土地价款怎么算费用
  • 销售成本会计英语
  • 存量资金会计处理办法
  • 住宿发票费率是多少
  • 工地上报销项目有哪些
  • 公司购买的商品质量问题能用12315投诉吗
  • 金税盘是怎样的
  • 一般纳税人暂估入库的会计分录怎么写
  • 房地产开发企业开发成本包括哪些项目
  • 职工福利费的好处
  • xp系统安装程序没反应
  • 修改linuxip
  • ubuntu创建新用户并增加管理员权限
  • apache 443
  • Win10技巧:如何开启隐藏的锁屏时间设置项
  • Win10 Mobile/WP8.1优秀专业摄影应用OneShot本周再次更新:修复Bug和优化性能
  • windows多屏显示
  • linux服务端
  • linux软件列表
  • win7为什么会出现小黄锁
  • Linux下OpenVPN配置静态密钥(static-key)验证教程
  • WebSocket+node.js创建即时通信的Web聊天服务器
  • shell切分
  • js绑定函数
  • find 批处理
  • docker编写dockerfile
  • 简述jquery的常用方法
  • 全国哪些地区社保比例高
  • 药店迁址流程2019
  • 黄石市地方税务局人工客服电话
  • 中国的消费税是什么
  • 请领导审核怎么说
  • 每辆车车船税都一样吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设