`
yzd
  • 浏览: 1818665 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android游戏开发之摄像头的原理以及更新 (五)

 
阅读更多
雨松MOMO带你走进游戏开发的世界之摄像头的原理以及更新







雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6624479











游戏中摄像头的原理介绍

在游戏开发中更新摄像头的位置可以决定屏幕显示的内容,尤其是RPG类游戏摄像头有着非常重要的作用,我举一个例子 有时候我们在玩RPG游戏的时候进入一个新的场景 触发一段脚本后 发现镜头开始向上移动 根据镜头移动玩家可以大概浏览一下这个场景有什么东西 ,触发什么样的剧情。这个实现的方式就是游戏摄像头原理。


如图所示:首先摄像头显示的区域也是手机屏幕显示的区域 如果需要更改摄像头的位置 其实是更改背景地图的位置 利用程序拖动背景地图 给玩家一种假象让玩家感觉像是摄像头在移动而不是背景地图在移动。






游戏中地图的绘制原理介绍

根据地图编辑器生成的出来的数组的每一个tile 的 ID 找到每一个tile的地图资源原始文件的XY坐标 算出来图片的显示位置利用程序的切割的方法把每一个tile切割出来显示在手机屏幕中。

切割图片的代码所示:


canvas.save();
切割图片之前先把Canvas保存起来 然后在切割 绘制结束后
canvas.restore();
在把Canvas的在状态重置回来 如果不这么做的话 第一张图片切割后就会挡住以后所有的图片,所以大家一定要记住这一点喔。



如图所示:每一张tile的绘制原理就是这样,说到这里有些朋友可能就要问 如果我的地图无限大那根据这个方法岂不是要循环无限次?其实屏幕须要绘制的tile数量只需要绘制屏幕显示区域以内的, 屏幕现实区域以外的我们不用考虑绘制 只需要更新地图的坐标数据就可以,比如我的模拟器屏幕的大小是320X480 那么我实际绘制的tile数量只是 10 X15 (块)。其实游戏开发绘制中还有一个更重要的绘制技术就是双缓冲技术它可以用来解决屏幕闪烁问题,下一章中我会详细介绍。


昨天有朋友跟我提出这种用数组的方式来绘制地图不科学我很同意他的观点,为什么不科学? 原因是现在我们只有一个场景我们用一个数组来绘制地图 万一我们的游戏有100个场景 我们岂不是要在程序中写100个数组了?其实在实际开发中我们是把这些地图的信息转成xml文件 打到游戏的包中 玩家在切换游戏场景的时候便会读取当前游戏场景中的地图xml文件。其实这些xml文件中也是保存这地图的二位数组信息 但是这样做的好处就是数据驱动 程序员不用定义N个数组 做N种判断 只须要根据当前切换的场景的ID就可以得到地图的信息 十分方便 也可以避免代码中由于笔误造成的的错误 何乐而不为。

但是不管用任何方法处理数据 它的绘制原理都是一样的。

如何更新游戏中摄像头

效果图:程序取随机数更新游戏摄像头







目前以每10000毫秒更新一下摄像头的位置 (随机数) 我们有了摄像头的位置以后 就可以在算出背景图片的相对显示位置 移动背景图片的位置后就可以给玩家制造出一种摄像头在移动的假象了。

地图块是我新拼的 长宽的tile块数是20X20。








最后如果你还是觉得我写的不够详细 看的不够爽 不要紧我把源代码的下载地址贴出来 欢迎大家一起讨论学习
雨松MOMO希望可以和大家一起进步。

下载地址:http://download.csdn.net/source/3460437


分享到:
评论

相关推荐

    Android游戏开发之摄像头的原理以及更新源码

    雨松MOMO带你做游戏Android游戏开发之摄像头的原理以及更新源码 欢迎大家家下载阅读

    android调用前后置摄像头拍照

    自己编写的一个相机代码,可自动调用前置摄像头,进行拍照,可嵌套进其他代码

    android系统原理及开发要点详解

     1.3.2 基于源代码SDK Android开发 11  第2章 Android系统开发综述 13  2.1 Android的系统架构 13  2.1.1 软件结构 13  2.1.2 Android的工具 16  2.2 Android源代码的开发环境 18  2.2.1 Android源代码的获取...

    android开发资料大全

    Android开发开发技巧之 EditText 属性、 ProgressBar 各种样式大全 android用户界面之EditText教程实例汇 android用户界面之ListView教程实例汇 android用户界面之Toast教程实例汇 android用户界面之AlarmManager...

    基于Android开发的利用手机的摄像头通过闪光灯识别手指的血管完成心率的检测+源码+项目解析(期末大作业&课程设计&项目开发)

    基于Android开发的利用手机的摄像头通过闪光灯识别手指的血管完成心率的检测+源码+项目解析,适合期末大作业、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于Android开发的...

    Android 开发电子书_3

    Android应用框架原理与程序设计36技、Android与JUnit深入浅出、Google_Map_API谷歌地图、Android摄像头的应用、android学习资料大全、Android音视频的编解码、牛人Android提高篇、Android2.2+API+中文文档系列、...

    Android 初学中阶高阶书籍_集合打包2

    Google.Android开发入门与实战,Android 精通Android游戏开发,3G应用开发之Android,15个Android很有用的代码片 段,Android 图像处理篇,Android_CTS测试研,GoogleMaps基础开发教程,Android_GPS架构分析,android_JNI...

    Android 初学中阶高阶书籍_集合打包3

    Google.Android开发入门与实战,Android 精通Android游戏开发,3G应用开发之Android,15个Android很有用的代码片 段,Android 图像处理篇,Android_CTS测试研,GoogleMaps基础开发教程,Android_GPS架构分析,android_JNI...

    Android高级编程--源代码

    因为没有了人为制造的障碍,所以Android开发人员可以自由地编写能够充分利用日益强大的手机硬件的应用程序。因此,对Android感兴趣的开发人员都把Google在2008年发布Android这一举措作为移动技术发展史上的一个非常...

    android精品源码

    3G应用开发之Android.ppt Android 图像处理篇.rar Android2.2+API+中文文档系列.pdf Android_CTS测试研究.pdf Android_GoogleMaps基础开发教程.pdf Android_GPS架构分析.doc android_jni操作指南.pdf android_JNI...

    Android高薪之路:Android程序员面试宝典 李宁

    1 3 1 搭建Android开发环境 1 3 2 Android开发环境的使用 第2章 布局 2 1 Android中的布局 2 2 布局使用技巧 2 2 1 FrameLayout布局 2 2 2 LinearLayout布局 2 2 3 RelativeLayout布局 2 2 4 TableLayout布局 2 2 5 ...

    Android传感器MotionSensor开发实验.pdf

    2.Android SDK Android SDK是⼀个为Android开发的软件包,它包含了调试器、API函数库、安卓模拟器以及⼀系列开发⽂档在内的各种⼯具。⾕歌官⽅ 开发出了基于Eclipse的ADT(Android Develop Tools)插件,通过为...

    Android 4高级编程(第3版)源代码

    本书见解深刻,帮助经验丰富的Android开发人员充分挖掘Android4的新特性的潜力,同时讲解了Android开发的基础知识,使初学者也可以借助本书入门。作为一本以实用性为目的的指导图书,本书带领您逐步完成复杂程度...

    游戏摄像头案例

    这个源码是游戏摄像头案例源码,游戏中摄像头的原理介绍,在游戏开发中更新摄像头的位置可以决定屏幕显示的内容,尤其是RPG类游戏摄像头有着非常重要的作用,我举一个例子 有时候我们在玩RPG游戏的时候进入一个新的...

    Android 4高级编程(第3版)

    本书见解深刻,帮助经验丰富的Android开发人员充分挖掘Android 4的新特性的潜力,同时讲解了Android开发的基础知识,使初学者也可以借助本书入门。作为一本以实用性为目的的指导图书,本书带领您逐步完成复杂程度...

    2018年嵌入式技术应用开发公开技术资料更新2018.05.05

    (一)核心板STM32 程序更新 更新内容: ...1. 增加道闸核心板更新文件、道闸LCD 显示屏更新文件、以及更新说明文档。 提供道闸LCD 显示屏相关烧录软件。 八、软件更新 1. 增加OpenMv 摄像头开发软件、驱动。

    Android 项目开发实战:头像上传

    1.实例演示和原理讲解 2.从摄像头中获取图像 3.从图库中获取图像 4.在 Android 上对图像进行裁剪 5.图像上传并在服务器保存图像

    《Android高级编程》

    2.2 面向移动设备的开发 2.2.1 关于硬件设计的考虑事项 2.2.2 考虑用户环境 2.2.3 Android开发 2.3 To-Do List示例 2.4 Android开发工具 2.4.1 Android模拟器 2.4.2 Dalvik调试监控服务(DDMS) 2.4.3 Android调试桥...

    Android手机交互应用开发创意之钥 源代码

     4.1 搭建android开发平台  4.2 辅助工具的使用  4.3 第一个android应用——hello android 第2篇 创意的“奇点”  第5章 初认识androsd应用程序  5.1 基本程序单元activity  5.2 通信信使intent  5.3 广播...

Global site tag (gtag.js) - Google Analytics