幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: august

[通用编程] 关于C语言里的图形函数

[复制链接]

23

主题

218

帖子

2470

积分

⑥精研

积分
2470
发表于 2007-8-23 01:46:26 | 显示全部楼层
C++会了,实质上C也差不多了。
我觉得C的精髓就在于指针的运用,熟悉这个对C++的理解,以致于程序内部运作的理解是很有好处的,因此我觉得应该先学C再学C++,毕竟C++是C的扩展。
至于是用C还是C++的标准库,纯属个人喜好,我是比较喜欢C的库,毕竟小而快又没那么容易RP,习惯了也不比C++的麻烦。

Win32 API了解下也是需要的吧,连创建个窗口都不会用什么DX。

STL的确不是必须,但用起来方便啊,写游戏这么大的项目,基本的数据结构由它分担有什么不好?当然要自己实现也可以,只是自己实现的也要自己维护,还不通用,多少种类型的链表写多少个struct,写出来的也未必有别人的好。

所谓“正路”就是脚踏实地的一步步学,“从零开始写游戏”,“职业游戏程序员必要素质”,上面所列的除了STL应该都是必须的吧。至于顺序当然是自己定的,我那样写只是建议而已。

捡Engine的话,话又不同了,会相应的语言就行了。如果只是单纯的想写个游戏,用Engine比较实在。
ONScripter for PSP/Windows中文版 http://blog.163.com/john_he_
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-8-23 09:38:50 | 显示全部楼层
说STL,其实是因为不用再去专门学范型编程,用别人现成的就行.
但是如果学会了范型,自己写自己的lib,用不用STL都无所谓了.
像irrlicht引擎,就自己写了不少模板,所以不用STL了.

当然所有的这一切,目的只有一个,就是写出游戏来.
至于具体的过程,因为个人差异,显然会有所不同.
え~え~お!!!
回复 支持 反对

使用道具 举报

19

主题

842

帖子

1万

积分

⑧专业

絕望青年,一起增高吧

积分
13676
发表于 2007-8-23 20:33:43 | 显示全部楼层
WINAPI某看過一陣子,轉到linux後便沒有再看
STL其實是基本來的..

為著彼岸,便要與之妥協 但為著彼岸,更不能與之妥協

回复 支持 反对

使用道具 举报

50

主题

994

帖子

6699

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6699
发表于 2007-8-23 22:10:43 | 显示全部楼层
创建个窗口和“学习WIN32API”有很大的差别吧?“学会创建窗口,能写消息循环”,WIN32API的学习就告一段落了么~~-_-bb我是觉得如果按照“学习WIN32API”-->“学习图像API”这种顺序,估计兴趣在第一步就被打击了。

至于学习c再学c++,是个老话题了。c也是博大精深的玩意儿,一时半会儿学不完的,就比如lz现在正在啃c的标准库,看多久才算完?有那功夫就直接看c++的书吧。c++是多范型的语言,并不等于面向对象,咋学都行啊。

STL也是博大精深……

唉,总之我觉得给的那个列表简直就是要玩一辈子的东西,step by step的方式会让人发疯的,同步跟进或许更适合大多数人,毕竟学以致用是最好的进步手段。

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

23

主题

218

帖子

2470

积分

⑥精研

积分
2470
发表于 2007-8-24 00:14:43 | 显示全部楼层
“先学Win32 API”也不等于“不学完不学其它啊” [s:5] DX那玩意不创建个窗口用不了,所以我才加上来的。而且学Win32 API主要还是了解下Windows的运作,要不你叫LZ咋Debug啊?学Win32 API也不等于要把所有函数call一次啊?又不用考试,觉得无聊跳过不就好,以后有这需要再回头看就不觉得无聊了啊。现阶段先学怎么创建一个窗口,怎样写消息循环,其他的需要再查啊,有MSDN……

C和C++的标准库,学一个就OK啊,甚至直接用Win32也行啊,知道怎么打开个文件来读就行了啊。学C不等于一定要学C的标准库,标准库不是用来看的是用来查的,找到个分类的目录,需要什么样的功能就查查有没这样的函数……

STL更是如此啦,比如LZ现在知道了怎么操作链表,就可以看看STL的链表怎么使用,是不是比自己来方便一点。STL里的map在游戏里用途还是比较广泛的,自己实现要用到树结构,LZ可能现在还不行。学学怎么调用STL比学树要简单点吧。

我觉得我的想法和LS的还是比较相似的,LZ本来是想问“学过些什么才能好点读懂图形方面的程序”,我是回答而已。可能因为我表达的问题另人有所误会了,SORRY [s:6]


最后,我不推荐LZ走“正路”,毕竟连正规的游戏工作室也不是全部都自己写底层的。快速游戏开发可以考虑用HGE,C++知道点皮毛即可,几十行就可以做一个有有图象有声音能响应输入的DEMO。或者用VB/C# + Managed DirectX,总之要找捷径。
ONScripter for PSP/Windows中文版 http://blog.163.com/john_he_
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-8-24 12:41:14 | 显示全部楼层
[s:5] 听起来真的好复杂, 昨天我看了篇文章,那人说要学好C++,一定要学C这样子......................
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-8-24 13:02:00 | 显示全部楼层
呵呵,写那种文章的人,多半是因为没买到一本全面详细的c++书藉,不得不用c的书来补足. [s:2]
え~え~お!!!
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-8-24 13:51:11 | 显示全部楼层
听到你们这样说,方向好像变迷糊了,正路....捷径.....正路............捷径............ [s:8]  [s:8]  [s:8]

PS:你说的全面详细介绍C++的书是不是那次说的那两本?那我到底应该不应该再把C深入点?
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-8-24 15:08:25 | 显示全部楼层
所谓正路就是科班式的学习方法。
当你想写一个程序时,需要用到class,但是现在教学进度才到array。对不起,程序先放那,按部就班,从array-enum-struct-union-class,一步一步的来。
都说这样能打好基础。可是,你想写的程序一直搁浅在那,时间长了,学习的激情会不会受影响?

正路的制作游戏的办法,就是学语言,学设计模式,学图形API...这些基础全部搞定了,然后再开始动手写游戏。这样学出来,基础绝对扎实。可是具体的写游戏,实现策划的构思的变通思维、项目管理能力明显不足,但是可以先找家公司练个几年,也就成了。

所谓捷径就是兴趣向导型的学习方法。
先全面的大致了解一门语言,绝不去死扣细节。然后就去实际使用。在使用中发现,原来struct我还有点不清楚,这个时候再回过头来,去看struct中那些还不懂的细节。

捷径的制作游戏方法,学了点基本,就可以用krkr,rmxp写游戏;再深入学一点,就可以用ogre,hge写游戏;最后学成时,一样可以从基础的图形API开始架引擎写游戏。这样学,基础是一点一点变扎实起来的,在基础没有积累到一定量的时候,想找个游戏公司是比较困难的。但是,好在时常有作品出来,如果能被人看中,那就一步登天了。

两种方法都殊途同归,关键还是看各人的习惯和最终的目标。

ps.c++之于c到底如何,你还是自己判断吧。c++primer在网上有N多的下载,你google一下,找来认真把书中的“第二篇 基本语言”看看,再比比你手上的c教程看看,如果你还认为学c++,必须先学c,那谁也没有办法了。
え~え~お!!!
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-8-24 17:14:37 | 显示全部楼层
ogre,hge这些是游戏引擎吗?  还有偶看到c++primer 有好多版,看哪版才是最合适的?

PS:你们怎么知道我学程序是为了游戏??? [s:5]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-30 03:30 , Processed in 0.025243 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表