学vc++游戏编程需什么基础?

发布网友 发布时间:2022-04-23 12:54

我来回答

3个回答

热心网友 时间:2022-04-12 00:26

首先你要会,windows下程序的运行原理,会windows窗口应用程序设计,写windows窗口应用程序:
a最常用的就是MFC编程
b或用platform sdk (也就是windows api)

MFC是对windows api的类封装。

然后你就可以写扫雷,五子棋这样的程序了。
如果你想写那种网游里的效果。那就路漫漫了。
找本directX的书看看吧。用opengl也一样,会了这个,不难会那个。
openGL,还是directX了,两个函数库直接控制显卡,

热心网友 时间:2022-04-12 01:44

游戏引擎开发之路
这条路很长,因为需要知道和用到的东西太多了。
& K. b: l( Z! B3 Z- P4 g2 H- L0 f+ ?
- |/ o6 p- q" u" y学习次序
' g3 `& B* {6 t9 T1、首先是语言方面,这个问题没有太多的选择的余地,基本上是用C和C++;VB的也有,但是很少;C#因为微软的力挺,在游戏开发中也逐渐多了示例。了解基本语义和语法就可以下一步了。如果想C++学精通了在往下学,估计就没有机会往下学了,因为你的热情可能在这都耗费了。这个的学习是要不断重复的,想一遍学好是不可能的。
( z& g/ n. P# \2、数据结构的知识。这是基本的,而且对于算法的优化,速度的提升,在游戏开发中也是极为讲究的。教程很多,关键还是自己的思考和把握。. e8 n, ?- `( G% j' V& E
3、Visual Studio 环境的使用。这个比较简单但是却十分重要,如果连筷子都不会用,想吃面条,那是比较费劲的,呵呵。看MSDN中相关帮助部分。
9 k7 X2 D0 l. ~# _) I4、Win32编程。想全面就看《Windows 程序设计》就可以。网上有电子版,中英文都有,自己搜。想粗略了解就看《Windows游戏编程大师技巧》第一部分。
7 a) s$ k6 D4 I1 s: x" m5、COM接口的使用。想粗略了解就看《Windows游戏编程大师技巧》第二部分。: i4 g( Z% z6 ~6 h5 d4 e) o8 O
6、图形学。这个是理论部分的内容,我认为可以先看DirectX或者OpenGL,然后再翻回头看这个。其实我是看了DirectX之后,又看了两遍图形学,才对图形学有了切实的感觉。% A+ ^1 _/ E( N" u
7、图形软件开发包。主要是DirectX和OpenGL。任选一个深入地学,学好之后,再学另一个,否则就会白白地浪费很多精力,因为他们相通或者相同的东西是主要的,不同的地方是次要的。# O" V% G+ H8 c
8、软件工程。任何一个大型软件的开发,都离不开软件工程的支持。引擎开发就是一个大的工程。所以应该对软件工程有个大概了解。& {. H) d7 F# _- @' n
9、设计模式。有不少引擎大量地应用设计模式提高软件的性能,比如Ogre。 L6 \ U0 O2 B- m3 G0 J- `
其实还有,但是最主要的就是上面这些了。其他的内容,等上面这些了解了,就自然知道下一步要干什么了。
; b+ ?* n' k% c2 n: O! L% T" \ ]0 e5 a! U3 Y; f" p
图书推荐6 N6 F) Y& P) i/ B
不要被上面的说法唬住,呵呵。如果想开始,那么按照下面的推荐书籍顺序看,应该入门比较轻松一些。这是我走过之后,发现的一个比较好的学习路径。当然我买了很多内容级别重复的书,在此就不推荐了。
, P# S7 v ], D: j1、概述部分:《游戏的设计与开发——梦开始的地方》(网上有中文电子版,是本了解游戏全貌的好书。)
. o. g/ t+ I m5 v$ V* S2、基础部分:《Windows游戏编程大师技巧》 《精通DirectX 3D图形与动画程序设计》- c# v: U' C* K; e' K% K
3、提高部分:《advanced animation with directx》(中文版翻译的很烂,有不少错句,假如你认真看的话,可能看不懂。如果有时间,还是看英文的好。)《DirectX 游戏开发终极指南》
/ D' g% S1 @- Y4 P7 y. f- D4、高端部分:《3D Game Engine Programming》(网上有电子版,但没有中文版,以后我时间充裕了可能会翻译部分章节。),然后是开源引擎分析,比如Ogre
1 p! Y- x% t; \/ C5、终极部分:自己开发,然后改进。
* u" e+ x( T' ^9 f9 S% b
' ^* M# Z2 M: D图形学是以数学为基础的(其实用到的数学并不难),而无数经典资料是英文的,而且没有合适的翻译,或者根本没有翻译。这就需要大家的英语要好。所以,英语数学很重要。不要小看了你的四级,过了看一些英文文章就没有什么大的障碍;不要逃避你的高数,如果深入研究,高数哪都用得到。
; m8 w* e$ d9 P这是我自己的切身经验,希望对大家有用。
' l* g- b% @) U! M" n, ?$ _8 ^8 a2 E
, D( L4 H K) g7 s5 O4 I; X2 A1 n5 |. b4 B* T
补充内容:
# N$ b" K! X; t: s- N( S7 n0 v' V7 r0 A上面分析的主要是图形引擎部分,而没有涉及到其他的引擎部分,比如人工智能引擎、物理引擎、网络引擎等等部分。当上面的熟悉了之后,自然就会看过很多的资料,然后自己肯定知道下面应该怎么走,在此,我就不多说了,因为我也没有走的更深入,呵呵。 {$ H' h* \' A& d
6楼的bluebirddm说的网络部分,其实如果都搜索的话,还是有一些资料的,不过大多是英文的。《3D Game Engine Programming》的第12章介绍的就是。能够搜到的资料还有Developer's.Guide.To.Multiplayer.Games.pdf和Programming.Multiplayer.Games.(2004).EEn;.BM.OCR.6.0.ShareConnector.pdf。

热心网友 时间:2022-04-12 03:19

推荐你一个网站,资料很多 http://www.hellocpp.net

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com