从 0 开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
36832 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
从 0 开始学游戏开发
15
15
1.0x
00:00/00:00
登录|注册

复习课 | 带你梳理客户端开发的三个重点

我们用了将近两个月的时间,讲述了游戏客户端的开发流程和代码编写,今天我来带你总结并且回顾一下。
我这里列了一些编写游戏客户端你必须要掌握的知识和注意的事项。希望通过梳理这些知识,能让你对学过的内容有一个全盘的认识和更加深入的理解。

重点一:客户端开发中 4 个重要方法

首先,我们来看,设置前后遮挡效果时要用到的一个虚拟概念,Z 值。 2D 游戏中其实是不存在这个概念的,因为 Z 值是高度概念,一般只存在于 3D 游戏当中。2D 游戏的坐标轴,拥有 X 和 Y 两种位置。X 轴是横向坐标,Y 轴是纵向坐标。在斜 45 度角的游戏,或者需要经常改变前后遮挡位置游戏中,往往才需要加入这个概念。在 2D 开发中,用好了 Z 值,能够帮你计算 2D 游戏中图片的前后位置,在游戏中设置前后遮挡效果的时候就会更加方便。
其次,在 2D 游戏中制作碰撞检测的时候,可以使用图片相交检测的方法,来替代物理引擎。像打飞机游戏这样非常简单的 2D 游戏,是完全不需要使用物理引擎的,我们使用图片相交检测的方法,直接写对应的代码就可以。
什么时候才要使用物理引擎呢?这取决于你的代码量和程序编写的复杂程度。
如果碰撞代码非常复杂,占据整个工程量的 1/5~1/4,那就可以直接使用物理引擎;如果仅仅用一两个函数就可以搞定,那就可以自己模拟物理碰撞效果来写相应的代码。毕竟 2D 游戏不比 3D 游戏,对“拟真”的要求没有那么高。而图片相交检测这样的方法易于编写,且效果也可以满足需求。当然,3D 游戏中,往往需要高精度地模拟真实世界的碰撞,这个时候就直接使用物理引擎就好了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学游戏开发》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 淡看烟雨_
    其实在大型工程中,往往遇到的主要麻烦还是解耦,取决于设计者的理解能力,例如,程序过程与界面逻辑是两个完全应该分离的东西,大部分情况下,刚开始设计的时候还能规划好,但是难以坚持,到后面界面逻辑,服务逻辑,单元逻辑会混在一起,这对后来参与的人非常痛苦,我早年遇到过这样的MFC程序。能不能请您介绍一下,一个最小游戏系统的功能划分,抽象思路。非常感谢
    6
  • 赵鹏
    游戏逻辑越复杂,架构越大,后期就越难维护
    1
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部