首页 > 科技 >

学C++走游戏偏向,是不是非常艰难自找吃力吃?

2019-04-14 00:11:10 暂无 阅读:1386 评论:0

C++这门说话从降生到今天已经履历了快要30个年头。

弗成否认,它的进修难度都比另外说话较高。而它的进修难度,首要来自于它的复杂性。

如今C++的使用局限比以前已经少了好多,java、C#、python等说话在好多方面已经能够取代C++。

然则也有好多处所是其他说话完全无法替代的,首要集中在需要运行效率对照高的行业;

好比游戏、高效的办事器。

如今进修java、C#等说话的人数远远高于C++,首要是因为C++的入门门槛太高。

所以在此我们不商议具体的手艺细节,只说我们在哪个阶段应该进修什么器材。有个系统的规划。

学C++走游戏偏向,是不是非常艰难自找吃力吃?

一、手艺能力

1. 说话

我们要成为一个法式员,学的器材会好多很杂,然则最起头必然要从说话起头进修。

进修说话的目的就是打好根蒂,稀奇是自学的,必然规划好本身的进修路线,一步一个脚迹进修下去。进修说话最要害的莫过于多念书,但不克随便找一本C++书籍就去读了。

介绍几本适合初学者读的书(需要电子版的同伙能够到文末拿)

《C++法式设计说话(稀奇版)》

无论若何也应该读个四五遍!这是一切C++的书本的源泉。

《C++说话的设计和演化》

这本书是写C++说话成长的汗青,能够看下认识一下这个说话的汗青。

接下来就能够看其余书了,但要一直地回头看这本书。

看到你络续地学到的新手艺是怎么样一点点地被回收到这个说话中去的。

《C++ Primer plus (3RD)中文版》

适合有雄厚C经验,缺乏C++经验的

《C++ Primer plus(4RD)中文版》

《Essential C++中文版》

《Accelerated C++中文版》

学C++走游戏偏向,是不是非常艰难自找吃力吃?

2. GUI

C++方面的GUI库有好多种,好比MFC、WTL、wxWidgets、QT。

这些GUI库都各有本身的特点,其实我们只要先认识一种就能够了,只要深入认识了一种GUI库。

需要的时候再进修其他的就够了,素质上都差不多,很快就能够上手了。

MFC固然设计上有好多问题,然则作为入门照样不错的,并且进修资料好多,碰着问题也好解决。

进修MFC的介绍下面这个链接,里面有别人进修MFC游戏斥地的笔记,能够多进修进修。

学C++走游戏偏向,是不是非常艰难自找吃力吃?

进修从来不是一小我的事情,要有个互相监视的伙伴,工作需要进修C/C++或许为了入行、转行进修C/C++的伙伴能够私信复原小编“进修”领取全套免费C/C++进修资料、视频

3. 数据构造和算法

好多人都轻忽了数据构造和算法方面的常识,尤其是一些编程说话的库做得非常好;

几乎不需要本身去实现一些数据构造和算法,导致如今好多法式员不正视甚至忽略这方面的常识。

然则,当我们想让我们的法式跑的更快、内存占用更少的时候,这些常识就非常非常主要了。

好多法式员都是刚起头的时候不正视这些,然则工作几年后又来补习这些常识。

最起头或者不需要进修的太深入,然则根基的数据构造和算法必然要知道。

学C++走游戏偏向,是不是非常艰难自找吃力吃?

4. 数据库

进修数据库的根蒂常识,而且把握一种数据库使用。

介绍使用Oracle,并且最好不要用一些封装好的接口。

而应该直接用Oracle供应的数据库API,或者对数据库认识的会更深入。

学C++走游戏偏向,是不是非常艰难自找吃力吃?

5. 并行

CPU主频已经不克遵循摩尔定律了,如今CPU成长的趋势是多焦点。

无论是多线程,照样多历程,都是为了更好的行使CPU的机能,供应更好的用户体验。

这就要求我们若是要写出高效的应用法式,必然要涉及到并行较量。

多花些精神在并行较量上吧,必然会有雄厚的回报。

学C++走游戏偏向,是不是非常艰难自找吃力吃?

6. 收集编程

这里所指的收集编程是指socket编程。

如今C++的应用好多都是在做办事器斥地,

若何斥地一个高并发、大吞吐量、高不乱性的办事器就是我们要考虑的了。

7. 设计模式

设计模式不是具体的手艺,更多的是若何让代码更轻易阅读、更好扩展、更轻易使用。

8. 库的使用

C++尺度库仅仅供应了一些很根基的功能,所以我们经常会引入一些第三方库。

最有名的生怕就是被称为准尺度库的boost库,它供应了我们编程顶用到的各方面的手艺,

文本处理、算法、收集、多线程、图像处理等等,几乎无所不包。

另外也有一些专著于某一方面的库,

好比ACE是收集通信方面的,TinyXML是解析xml的,OGRE是图形衬着方面的。

9. 把持系统的常识

法式员需要认识的把持系统常识和通俗用户是纷歧样的,

一个高手是需要深入认识把持系统的方方面面,而不是停留在使用层面。

至于应该认识哪些常识,Windows上的去看《Windows焦点编程》,

Linux的去看《深入懂得Linux内核》,应该能够知道本身应该学什么了。

以上都是进修C++游戏斥地的前期预备,也就是打好根蒂。

上面都是根基功,看起来有点多,然则磨刀不误砍柴工。这对于你后背进修游戏斥地有非常大的匡助。

举个我身边的例子,他就是先进修数据构造和算法,去列入ACM角逐,后背转的C++游戏斥地。

学的非常快。这就是根基功扎实的优点!!!!二、图形图像处理:

若是你不想斥地游戏引擎的话,简洁认识OpenGL或许DirectX,反之深入认识。

DirectX是微软的多媒体编程接口,

在Windows的..下,合营支撑DX的高端显卡能把游戏场景的特效等等施展得极尽描摹,

而OpenGL是一个跨..的编程接口,是硬件无关的编程接口。

前者首要Windows下斥地游戏,后者首要是移动端。

若是是斥地iOS游戏,需要认识Object C,

有些小游戏使用JAVA和Flash,

网页游戏还或者需要认识 HTML5, DIV, CSS等常识;

收集游戏还需要认识收集编程,加解密和数据库常识。

此外好多游戏斥地公司都或者会使用分歧游戏斥地引擎,这些引擎会把上述的常识点封装;

使得你能够不需要认识底层的细节,挪用它指定的API就能够实现一些功能。

不外你若是认识底层细节,显然对换试问题更有优点。

建议多看一下cocos2d-x官网的商议和API范例。

再往上走的话,或者会需要认识分歧的显卡的特点,扬长避短。

认识一些不常用的剧本编程手艺能够削减你架构编译调试测试的时间。三、项目经验

认识上面的这些常识后,不多加练练可没用。

稀奇是对游戏斥地来说,项目经验加倍主要。

一个好的项目能够让你把各类手艺进行综合运用,而且能学到一些新的常识。

好比做播放器的要进修编解码器方面的常识。

做游戏也是一般,要进修图形方面的常识,

好多人会忽略项目的经验,而纯真的谈手艺能力,这是错误的。

其实这就是理论和实践的关系,手艺就是理论常识,做项目就是实践,理论对实践有指导感化。

实践能加深我们对理论的深入懂得。

建议前期多去做几个小游戏试试手,然后慢慢加大游戏的难度。

(ps:网上有稀奇多的斥地游戏教程,一起头照着教程,边学边做。)

最后测验本身想个游戏做出来或许去找个游戏公司实习。

总而言之,道路照样很艰辛的,且行且珍爱!!!

学C++走游戏偏向,是不是非常艰难自找吃力吃?

相关文章