版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4 游戏开发基础 part1 游戏概括 o 什么是游戏? o 如何开发游戏? o 如何学习开发游戏? o 开发游戏学什么? o 我该做什么? 做游戏的基础 o 画布 Canvas o 视图 View o 画笔 Paint 三种View o View 基本图形处理,事件处理等 o SurfaceView 2D游戏 o GLSurfaceView 3D游戏,GPU加速 示例项目 o 新建项目GTest, o 新建MyView继承View o MainActivity设置显示内容 o setContentView(new MyView(this) View游戏框架 游戏中需要重写的事件处理函数 o
2、onDraw 绘制内容 o onKeyDown / onKeyUp 按键处理 o onTouchEvent 触屏处理 绘图函数onDraw 屏幕坐标 按键和触屏监听 o onKeyDown o (过时,现用于判断Home键和Back键) o onKeyUp(过时) o onTouchEvent 实现即点即绘制 o onTouchEvent 触屏判断 刷新屏幕 o invalidate o postInvalidate o 其中前者是在UI线程自身中使用,一般指主 线程 o 而后者在非UI线程中使用,一般用在子线程 SurfaceView游戏框架 o GameSurfaceView项目 MySu
3、rfaceView o 定义了surfaceholder和画布 callback接口接口: o 只要继承SurfaceView类并实现 SurfaceHolder.Callback接口就可以实现 一个自定义的SurfaceView了, o SurfaceHolder.Callback在底层的Surface 状态发生变化的时候通知View, SurfaceHolder 类:类: o 它是一个用于控制surface的接口,它提供 了控制surface 的大小,格式,上面的像素 ,即监视其改变的。 自定义的myDraw() o 输出文字“Game” 事件监听 o surfaceCreated o s
4、urfaceChanged o surfaceDestroyed 显示MySurfaceView 文字随手指移动 onTouchEvent 刷屏方式4个 o 等大的矩形覆盖 o 填充一种颜色 o 使用RGB颜色填充 o 覆盖一个背景图 Surface线程实现游戏动态效果 o 倒计时 o 流水 o 风吹 o Thread 线程 启动线程 游戏逻辑 o Private void logic() o 目前空的,如果实际游戏中,可以加入一些 判断,如游戏状态判断,动态效果等。 Run线程具体执行内容 o 目前是如果线程执行时间不足50ms就沉睡 足50ms View和SurfaceView区别 o V
5、iew简单绘图,被动跟新 o SurfaceView,单独线程处理绘图,主动更 新,更适合于2D游戏。 Canvas画布 o 当我们调整好画笔之后,现在需要绘制到画布 上,这就得用Canvas类了。在Android中既 然把Canvas当做画布,那么就可以在画布上 绘制我们想要的任何东西。除了在画布上绘制 之外,还需要设置一些关于画布的属性,比如 ,画布的颜色、尺寸等。 oCanvas(): 创建一个空的画布,可以使用setBitmap()方法来设置绘制具体的画布。 Canvas(Bitmap bitmap): 以bitmap对象创建一个画布,则将内容都绘制在 bitmap上,因此bitmap
6、不得为null。 Canvas(GL gl): 在绘制3D效果时使用,与OpenGL相关。 drawColor: 设置Canvas的背景颜色。 setBitmap: 设置具体画布。 clipRect: 设置显示区域,即设置裁剪区。 isOpaque:检测是否支持透明。 rotate: 旋转画布 setViewport: 设置画布中显示窗口。 skew: 设置偏移量。 Paint画笔 o Paint即画笔,在绘图过程中起到了极其重 要的作用, o 画笔主要保存了颜色、样式等绘制信息,指 定了如何绘制文本和图形, o 画笔对象有很多设置方法,大体上可以分为 两类,一类与图形绘制相关,一类与文本绘
7、制相关。 Bitmap位图的操作 o Bitmap是Android系统中的图像处理的最重 要类之一。用它可以获取图像文件信息,进 行图像剪切、旋转、缩放等操作,并可以指 定格式保存图像文件。 Bitmap的生成 o BitmapFactory decode出Bitmap 利用BitmapFactory可以从一个指定文件中, 利用decodeFile()解出Bitmap;也可以定义 的图片资源中,利用decodeResource()解出 Bitmap。 利用Bitmap和Matrix实现图像变换 o Bitmap可以和Matrix结合实现图像的剪切 、旋转、缩放等操作。 保存图像文件 o 经过图
8、像变换之后的Bitmap里的数据可以 保存到图像压缩文件里(JPG/PNG)。 4.11动画 o 一种为系统提供,Animation o 一种为自己定义,图片移动 Animation类型 o Android的animation由四种类型组成 XML中 alpha渐变透明度动画效果 scale渐变尺寸伸缩动画效果 translate画面转换位置移动动画效果 rotate画面转移旋转动画效果 Animation类型 JavaCode中 AlphaAnimation渐变透明度动画效果 ScaleAnimation渐变尺寸伸缩动画效果 TranslateAnimation画面转换位置移动动画效果 Ro
9、tateAnimation画面转移旋转动画效果 AlphaAnimation o AlphaAnimation类对象定义 o private AlphaAnimation myAnimation_Alpha; o AlphaAnimation类对象构造 o AlphaAnimation(float fromAlpha, float toAlpha) o/第一个参数fromAlpha为 动画开始时候透明度 o/第二个参数toAlpha为 动画结束时候透明度 omyAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f); o/说明: o/ 0.0表示完全透明
10、o/ 1.0表示完全不透明 o 设置动画持续时间 myAnimation_Alpha.setDuration(5000); o /设置时间持续时间为 5000毫秒 ScaleAnimation o ScaleAnimation类对象定义 private ScaleAnimation myAnimation_Scale; o ScaleAnimation类对象构造 TranslateAnimation o TranslateAnimation类对象定义 private TranslateAnimation myAnimation_Translate; o RotateAnimation类对象构造 如何使用如何使用Java代码中的动画效果代码中的动画效果 o 使用从View父类继承过来的方法 startAnimation()来为View或是子类View 等等添加一个动画效果 o public void startAnimation (Animation animation) orestart() osetDuration(int time) 例子 o *AlphaAnimation 渐变透明度动画效果渐变透明度动画效果 o *ScaleAnimation 渐变尺寸伸缩动画效果渐变尺寸伸缩动画效果 o *TranslateAnimation 画面转换位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海拉尔桥介绍
- 脑供血不足临床诊断与护理模板
- IT项目管理进度控制方案
- 2026年中国LNG管行业市场规模及投资前景预测分析报告
- 2026年指标对标分析报告
- 小学高年级综合素质提升方案
- 劳动教育推广实施操作指南
- 智能硬件产品开发与市场推广方案-侧重科技硬件
- 口罩生产设备操作及维护手册
- 企业内部培训课件制作流程
- 2025年食品安全管理员考试题库(附答案)
- 2025中国大唐集团新能源股份有限公司本部应届毕业生招聘笔试历年常考点试题专练附带答案详解2套试卷
- 2025四川广安投资集团有限公司第一次招聘工作人员18人笔试考试参考试题及答案解析
- 2025四川南充市嘉陵城市发展集团有限公司招聘10人笔试历年参考题库附带答案详解
- 2023-2024学年山东省济南市历城区六年级(上)期中数学试卷
- 部编版五年级语文下册第七单元分层作业设计
- 冷却塔调试方案
- 云南文山州州属事业单位选调考试真题2022
- 晋升中学高级教师职称考试试卷
- GB/T 5625.1-1985扩口式端直通管接头
- 学校心理健康排查表
评论
0/150
提交评论