Android游戏开发的问题

AlstonWilliams 2015-05-25 09:33:12
Android游戏开发时,那种随着玩家控制角色的移动,场景也相应的变换,是怎么做的呢?比如说,模仿梦幻西游的腾讯推出的那款手游中,随着角色的移动,场景也会变换一些。请高手指教。
...全文
231 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
只为搞笑 2015-05-28
  • 打赏
  • 举报
回复
引用 6 楼 Mr_Pang 的回复:
[quote=引用 5 楼 u010668114 的回复:] [quote=引用 3 楼 u013280307 的回复:] 背景产生挪动必定是要重画整个背景的 怎么可能是改变一点?就是挪动1px也是需要整个重画啊。。。。游戏一般都是一秒刷新几次。。。重画很正常的
哥们,这个可不是重画哦,一般是使用了卷轴算法的。会保留重叠部分的bitmap,只绘制新出现的部分,然后拼在一起显示出来,完全重画效率太低了。[/quote] 那重画时,那部分图像是来自哪里呢?是有那么一张大的位图包含了整个游戏的全部背景,然后从这张位图里面重绘一部分吗?[/quote] 现在的地图有很多种,早期的使用矩阵来表示,每隔单元有一个元素,例如地板、箱子、树,河流之类的,一般不会把整个地图加载进bitmap,那样内存吃不消,加载的都是略大于屏幕一点的,然后达到某个条件、例如玩家往上走时、就会不断根据矩阵上移的的数组来进行一行一行的绘制,然后把矩阵后一行不断销毁。现在也有更好的技术了,卡马克卷轴已经比较老了,不过很有借鉴意义。你百度一下,有很多讲解的
只为搞笑 2015-05-28
  • 打赏
  • 举报
回复
引用 8 楼 u013280307 的回复:
再说了 玩过游戏没 游戏里面人物走了整个地图不是全动?哪来的重叠位置

D部分就是移动前和移动后的重叠部分,这部分只需要做位移处理,
只为搞笑 2015-05-28
  • 打赏
  • 举报
回复
引用 8 楼 u013280307 的回复:
再说了 玩过游戏没 游戏里面人物走了整个地图不是全动?哪来的重叠位置
百度一下卷轴算法吧,bitmap是可以裁剪和位移,缩放,旋转的
AlstonWilliams 2015-05-26
  • 打赏
  • 举报
回复
引用 5 楼 u010668114 的回复:
[quote=引用 3 楼 u013280307 的回复:] 背景产生挪动必定是要重画整个背景的 怎么可能是改变一点?就是挪动1px也是需要整个重画啊。。。。游戏一般都是一秒刷新几次。。。重画很正常的
哥们,这个可不是重画哦,一般是使用了卷轴算法的。会保留重叠部分的bitmap,只绘制新出现的部分,然后拼在一起显示出来,完全重画效率太低了。[/quote] 那重画时,那部分图像是来自哪里呢?是有那么一张大的位图包含了整个游戏的全部背景,然后从这张位图里面重绘一部分吗?
只为搞笑 2015-05-26
  • 打赏
  • 举报
回复
引用 3 楼 u013280307 的回复:
背景产生挪动必定是要重画整个背景的 怎么可能是改变一点?就是挪动1px也是需要整个重画啊。。。。游戏一般都是一秒刷新几次。。。重画很正常的
哥们,这个可不是重画哦,一般是使用了卷轴算法的。会保留重叠部分的bitmap,只绘制新出现的部分,然后拼在一起显示出来,完全重画效率太低了。
AlstonWilliams 2015-05-26
  • 打赏
  • 举报
回复
引用 3 楼 u013280307 的回复:
背景产生挪动必定是要重画整个背景的 怎么可能是改变一点?就是挪动1px也是需要整个重画啊。。。。游戏一般都是一秒刷新几次。。。重画很正常的
这么说的话,不得需要一幅整个游戏的背景图,然后需要哪块就重画哪块吗?但是哪有那么大的背景图啊。
答题小助手 2015-05-26
  • 打赏
  • 举报
回复
背景产生挪动必定是要重画整个背景的 怎么可能是改变一点?就是挪动1px也是需要整个重画啊。。。。游戏一般都是一秒刷新几次。。。重画很正常的
AlstonWilliams 2015-05-26
  • 打赏
  • 举报
回复
引用 1 楼 u013280307 的回复:
人物绘制在中心 根据人物移动改变背景 游戏中很常用
这个我是知道的,但是人物移动一点,背景就相应的变换一点。又不是将整个背景都换掉,这是怎么做到的呢?
答题小助手 2015-05-26
  • 打赏
  • 举报
回复
人物绘制在中心 根据人物移动改变背景 游戏中很常用
答题小助手 2015-05-26
  • 打赏
  • 举报
回复
再说了 玩过游戏没 游戏里面人物走了整个地图不是全动?哪来的重叠位置
答题小助手 2015-05-26
  • 打赏
  • 举报
回复
引用 5 楼 u010668114 的回复:
[quote=引用 3 楼 u013280307 的回复:] 背景产生挪动必定是要重画整个背景的 怎么可能是改变一点?就是挪动1px也是需要整个重画啊。。。。游戏一般都是一秒刷新几次。。。重画很正常的
哥们,这个可不是重画哦,一般是使用了卷轴算法的。会保留重叠部分的bitmap,只绘制新出现的部分,然后拼在一起显示出来,完全重画效率太低了。[/quote] 哥们 一般游戏都是bitmap是远远大于屏幕的 bitmap绘制位置改变 算法只是在相当于重新加载时调用 调用算法是为了节约内存不是提升效率 我说的重绘是指bitmap换个位置
[14本经典Android开发教程]-3-Android SDK 中文开发文档 什么是 Android? Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android 平台上使用JaVa语言进行Android应用开发必须的工具和API接口。 特性 · 应用程序框架 支持组件的重用与替换 · Dalvik 虚拟机 专为移动设备优化 · 集成的浏览器 基于开源的WebKit 引擎 · 优化的图形库 包括定制的2D图形库,3D图形库基于OpenGL ES 1.0 (硬件加速可选) · SQLite 用作结构化的数据存储 · 多媒体支持 包括常见的音频、视频和静态图像格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) · GSM 电话技术 (依赖于硬件) · 蓝牙Bluetooth, EDGE, 3G, 和 WiFi (依赖于硬件) · 照相机,GPS,指南针,和加速度计(accelerometer) (依赖于硬件) · 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件 Android 架构 下图显示的是Android操作系统的主要组件。每一部分将会在下面具体描述。 已上传2本: [14本经典Android开发教程]-1-Android开发从入门到精通http://download.csdn.net/detail/cleopard/8355245 [14本经典Android开发教程]-2-Android开发手册—API函数详解 http://download.csdn.net/detail/cleopard/8374487 剩余11本稍后上传!@或直接从这里寻找@ http://download.csdn.net/user/cleopard/album @更多@ http://cleopard.download.csdn.net/ 福利 http://xuemeilaile.com 17份软件测试文档 http://download.csdn.net/album/detail/1425 13份WPF经典开发教程 http://download.csdn.net/album/detail/1115 C#资料合辑二[C#桌面编程入门篇] http://download.csdn.net/album/detail/957 C#资料合辑一[C#入门篇] http://download.csdn.net/album/detail/669 [Csharp高级编程(第6版)](共8压缩卷) http://download.csdn.net/album/detail/667 10个[精品资源]Java学习资料合辑[一] http://download.csdn.net/album/detail/663 10个C#Socket编程代码示例 http://download.csdn.net/album/detail/631 6份GDI+程序设计资源整合[全零分] http://download.csdn.net/album/detail/625 2014年移动游戏行业数据分析 http://download.csdn.net/detail/cleopard/8340331 一文读懂2014年全球互联网广告新生态 http://download.csdn.net/detail/cleopard/8340303

80,350

社区成员

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

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