永发信息网

如何编程游戏

答案:1  悬赏:60  手机版
解决时间 2021-02-07 02:22
  • 提问者网友:战魂
  • 2021-02-06 05:28
如何编程游戏
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-02-06 06:49
问题一:怎么编程游戏 5分人能识别有意义的字母、数字组合,就是代码。电脑机器只能识别0和1的二进制数字组合。人写的代码不能直接被电脑识别,需要一个翻译的过程,这个过程叫编译,把对人有意义的代码转换为对电脑有意义的二进制码。你看到的游戏画面是电脑理解了这些二进制码之后的结果。电脑根据二进制码来进行游戏图像渲染、处理玩家的键盘鼠标操作信息。举个简单的例子吧,假设人写的代码如下:Action action = drawCar();boolean goLeftBool = getInputLeftArrow();if(goLeftBool){ action.setLocation(action.getLocation().getX()--, action.getLocation().getY());}这段代码大概意思是:画辆车,玩家按左,车往左走。编译之后形成下面这样的二进制码:00101010100001010111110111011010100001011001010111011111011010000111010101010110001010111101101011000101010101010110110110101010101010101100101011110101010110101010101011101101110110100101110101011001010110110110101010001010101011其中每行代表源代码中的一句。就像黑客帝国一样,哈哈。这样电脑才能理解。当然,这是个例子而已,真正编译出来的二进制码比这个要多得多!问题二:hackpad编程游戏怎么玩 tieba.baidu.com/p/4172139873问题三:怎样做小游戏和编程 使用类编程思路清晰,可读性强,本例通过编写贪吃蛇展示类的基本应用。最终效果如下:网页教学网:本文中全部的Fla源码在文章最后全部打包供大家下载研究学习使用。看不懂链接名等内容的,可以看我的另一个教程“ 简单射击游戏教程 ”,或许有所帮助。全部源文件如下:贪吃蛇—类编程.rar第一步:“蛇”类初始化  新建fla文件,同目录下新建as文件,取名Snake.as,类名必须和文件名相同。fla文件中新建蛇节点元件,链接名为node,第一帧和类中写入相应代码。
第一步:“蛇”类初始化.rar第二步:蛇的移动 写个move方法,在init方法中设置时间间隔。
第二步:蛇的移动.rar第三步: 键盘改变移动方向 写个changeDirection方法,在主场景第一帧用键盘事件调用该方法,控制蛇的方向。
第三步:键盘改变移动方向.rar第四步:增加节点 写个addNode方法,新节点产生在蛇尾即nodes[length - 1]的位置上,暂时加个按钮调用addNode方法,观察结果。
第四步:增加节点.rar第五步:碰撞判断 修改move方法,假如头节点与蛇身其他部位重合,clearInterval删除move的定时调用。同时changeDirection也要加多个判断,不能让头节点和第二节点重合,加多这个判断是为了防止一个Bug的产生,一些贪吃蛇程序并没有注意到这点。这个Bug产生原因如下:
假设蛇向右移动,是不能进行向左改变方向,但由于move方法是定时调用的,比如每300毫秒一次,所以在这300毫秒内可能进行了多次快速按键。第一次按向下,蛇的xDirection和yDirection改变为向下,但move的执行时间没到,又紧接着按左,因为蛇方向在数据上已经改变,所以捕捉不到不能向左的判断,快速按键造成蛇反向移动的Bug就产生了,加个上述判断就好了。
第五步:碰撞判断.rar第六步:食物类编写 新建Food类,注意用extends继承MovieClip,这样元件才能链接它,在主场景中新建食物元件,链接Food类,实例名为food,拖入场景。在Food中写入appear和disappear方法,做两个临时按键调用它们观察效果。
第六步:食物类编写.rar最终完成:吃食物 Food中定时调用appear,并通过setSnake引入Snake实例snake,判断蛇身坐标不让新食物与之重合。Snake中通过setFood引入Food实例food,判断是否吃到食物,做出相应处理,如食物消失,增加蛇节点,改变setSnake。场景第一帧也要setSnake引入蛇头。 以后还要增加新功能,如阻碍物设置等,都可以通过改变as文件完成。虽然类编程比直接控制影片较为繁琐,但由于使用了面向对象,以后再对程序进行完善时都可依照对象行为思考,每个方法就是对象的每个行为,什么行为需要改变就找对应的方法修改,思路清晰。问题四:游戏编程 最基础应该从什么做起?? 选择一门语言 你要做的第一件事就是选择一门开发语言。你有很多选择,包括Basic,Pascal,C,C++,Java,等等。也经常会有人争论对于初学者那一门语言是最好的。对于这一系列流行语言的讨论,你可以参看John Hattan的著作,What Language Do I Use?(我用什么语言?) 我的建议是以C和C++开始。有些人会说这些语言对初学者来说太高级了,但因为我自己就是学C++,我并不同意这一说法。而且,C/C++是当今使用最广泛的语言(译者认为应该是汉语。。。),所以你可以找到大量学习资料和帮助。你先学C或C++都无所谓,因为只要学了一个,再学另外一个就很容易。但是,如果你先学C++,请保证在学习面向对象编程之前能理解和使用过程编程(等编程熟练再去学习类)。(译者:C是过程性语言,C++是面向对象语言) 如果你开始学习C/C++,发现太难,那再学一个简单一点的也没关系,比如Basic或Pascal。但是我真的认为,如果你坚持努力,而且有好的资料,学C/C++应该没有太大问题。 你的下一个问题可能会是:“我该怎么学C/C++?”我很高兴你这样问。最好的办法是上课。有老师可以回答你的问题,帮助你产生很大进步,编程练习作业也可以保证你能用到所学的东西。 如果你不觉得上课是个好主意,那最好的办法就是买一些好书。不要花太多时间去选一本什么“超级宝典”或“万用全书”,因为你最终可能会买几本。我建议你去一家书店,然后拿几本比较入眼的C或C++书看,直到找到一本或几本你能看懂,并且可以拿来学习的。同时,你可能会想要一些更深入的,或者一些材料,但是你一旦对于这门语言有了一些了解,我相信你应该有自己更好的选择。 在这里,我有必要花一些时间,来说我看到很多初学者所关心的一个事情,特别是年轻人:没有钱买书和其他东西。首先,有很多免费资源可以利用,图书馆,Macmillan Computer Publishing( www.mcp.com/personal ),有成千上百的编程书籍。但是如果你真的想要成为一个好的程序员,还是应该投入一部分资金。应当想方设法(合法的)帮助你弄到一些钱。 网上也有很多C/C++的学习指南。但是我认为那只能作为补充而不是你自学的主要资源。 选择正确的编译器 你写的程序,或者代码,是以文本方式储存的,你甚至可以用记事本写C/C++程序。但是总需要有东西把他们转换成为可执行文件。对于C和C++,那就是编译器。 可用的编译器有好多种,包括很多免费的。选择一款自己适合的编译器很重要,免费的编译器就有这样的好处,你可以把它们试个遍,然后从中选择自己最喜欢的。然而,免费编译器比起商业版,可能会缺失一些功能和大部分服务。幸运的是,多数商业版编译器也兼售介绍版或学习版,这要便宜得多,通常功能却不见得少,唯一的限制是你不能发布用它编译的程序(短时间内你也根本用不着)。 总之,选择编译器取决于你能花多少钱,用什么操作系统,和为什么平台开发。如果要为windows开发,我强烈推荐Microsoft Visual C++。他强大的开发环境使得很多事做起来更方便,毫无疑问没有其他编译器更适合开发windows应用程序。如果你是个学生,你还可以折价买到。如果你在DOS平台开发,你最好的选择可能是DJGPP,免费的哦~。 选......余下全文>>问题五:怎样系统学习游戏编程 www.zhihu.com/...665378
主要是要动手。建议是C++学一下,不用学的很深入,然后数据结构看一下,看到树就可以了,树和图可以留到以后看,之前的链表堆栈队列都看掉,争取自己写出来。然后学下SDL,这个包很容易学,看网上的教程几天就学会了,然后接下来就是从最傻逼的游戏开始写。我的过程是贪吃蛇-->乒乓-->打砖块,现在忙了没写下去了,都快忘记了,之后规划的路径是Galaxia-->警察抓小偷-->简单的2d scroll游戏-->简单的2d rpg引擎,最终目标是看懂博德之门的那个开源引擎,自己写2d RPG,因为我对三维的兴趣不大所以就不准备学。
其实这里头都是有学习点的:贪吃蛇是练手,顺便学习简单的动画;乒乓是学最简单的碰撞检测+物理;打砖块是学稍微精细一点的碰撞检测+第一个商业游戏(这玩意写得好的确可以卖,但是我们的目的就是练手);Galaxia是学习简单的AI和Sprite表,这是第一个Sprite数量比较大的游戏;警察抓小偷是学习更复杂一点的AI,和简单的关卡编辑器;2d scroll游戏就是学习scroll的;简单的2d rpg引擎,这里我的规划是类似创世纪3这样的引擎就足够了,这里能学到的东西就很多了,但是最主要的是,这是第一次我要做一个完整的游戏引擎,以及所有的工具,包括更复杂的关卡编辑器、试验一下简单的脚本(物品掉落,比如说)。
推荐几个链接,我觉得完全足够了。
Lazy Foo' Productions (SDL + C++的教程,作者连怎么配置环境都手把手的交给我们了,每天学个两节很快就下来了,等学完了基本上我上头那个列表也写完了)
2D Game Programming Tutorials with SDL (同样是SDL+C++的教程,但是这里头有好几个游戏的源代码,开始写游戏的话,C++学好了,然后写一个月游戏应该就能看懂这里所有的源代码了,好处是他上来就告诉你游戏引擎要有怎么样的架构)
最后看下entity driven engine的知识吧,如果你要写比较复杂的游戏的话。当然如果要写3d的话要看的就更多了,我的建议其实也很简单,就是比照着游戏发展史来,比如说你可以先上Wolf3d这样的游戏,当然不是比照它的源代码,而是实现类似的功能。
C++的教程就不给了,其实随便挑本英文经典的教程,不用看完,看到面向对象,知道继承大概是个什么样子,就成了。细节部分慢慢追究,总体来说我觉得每天花五六个小时(真心不多,写程序很容易沉浸在里头的,五六个小时是为了保证生活质量,我去年夏天自学的时候往往一天十个小时)看一个月绝对就看完了,然后看数据结构。为什么看数据结构呢,因为第一这是游戏编程里头很重要的一部分,数据结构设计的不好将来你会呵呵呵的,第二,你之前学C++恐怕没写过什么正经的代码,学数据结构可以大量的练习算法,而且最主要的,熟悉常用的数据结构。我觉得学到树就够了,最多把树学完就足够了,这也就是一个月的时间最多了。最后要注意,从一开始就要写比较专业的代码,这个你去网上搜索下就好了,包括一些书上可能不会说到的东西,比如说最新版C++里头我记得有智能指针。我C++其实都是自学的,所以也不知道是不是有什么......余下全文>>问题六:怎样自己编程 设计游戏啊 小游戏就成 找一些游戏编程的教程,先学通读,然后精读。然后,按照教程中介绍的编程工具,先掌握这些编程工具,然后购买或者下载编程工具进行编程。VB是不错的编程工具,但速度较慢。C、C++等也不错,速度很快,但很多人还原用学VB的精力去学。JAVA甚至网页脚搐语言等都是常用的编程工具。小游戏,可以在网页上实现,Javascript是不错的选择。问题七:如何进行游戏编程 最近很多人都在问如何学习编程。我觉得学习编程最重要的是入门,如果你入门的时候有一个好的方法和思路,打下比较扎实的基础,对今后的编程工作是很有益处的。即使在学习新的编程语言也无所谓,因为它们有很多相通之处,可以相互借鉴。
我认为可以先学习一下pascal,这个语言比较严谨,适合初学者。pascal它被称为教学语言,结构严谨,不像C语言那么灵活,易于理解和学习。 然后可以继续学习C语言,这个语言比较灵活。有了pascal的基础,在进行C语言编程就不会因为C语言的灵活而有问题 。后面的就可以学习VC什么的了。
C语言的书推荐谭浩强的,比较好。
我当时学习pascal和C语言的时候是将书后的习题都做了一遍,感觉效果很好。
当然了,学习什么语言也要看你具体准备从事什么行业。例如你要进行嵌入式开发,C就是很好的选择,如果是Windows开发,那么VC就不错。还有数据库方面的开发、网络开发等等。不同的语言适合不同的方面。要看自己的选择的,呵呵 。
还有很多人说自己的基础很差,甚至中学毕业什么的。其实这个并不重要,比较说英语,在计算机语言里所用到的单词量很少,而且都是常用词,经常使用就记住了。当然,如果你要看原文资料或者帮助的话,专业词汇比较多,不过在金山词霸的帮助下,经常看,也是没什么大的问题的。至于数学什么的,其实数学只是培养你一个逻辑思维能力,在初学编程的时候影响不是很大。况且,作为一个基础编程人员来说,上面还有系统分析师、项目经理,他们会把需求分析、概要设计和详细设计做好的,你只要按照文档写代码就OK了。不过,要上更上一步的话,其他基础知识就非常重要了,毕竟你不能写一辈子代码。
在你学习好C语言以后,个人建议好好学习一下数据结构和软件工程。这两门对你的水平提高都是很有帮助的。特别是软件工程,它能够使你按照科学的工程方法进行软件开发,对今后的发展很有好处。
只是一家之言,有不到之处,还望见谅!问题八:学游戏开发要学那么多东西。。。怎么学啊。。。 我觉得你这些学会了还是太少了。
开玩笑了,我作为一个游戏程序员在这个行业干了6年,其实你真正要会的东西是C++, 另外你还要对计算机的内存结构,数据编排管理方式,也就是我们说的数据结构掌握透彻。
Android只是一个程序的载体平台,你将来还有可能为iphone开发,所以这种东西你用到的时候通过sdk文档去了解一下它的规则就可以了。
cocos2dx你可以通过一个实例项目去掌握它,用它来做一块你进入这个行业的敲门砖还是可以的。毕竟现在用这个的公司是非常多,都想招个熟练工嘛。
粒子系统和OpenGL. 等你学了cocos2dx之后,如果对他背后的东西感兴趣可以研究一下,有百益而无一害。
数据库无非就是一些接口和查询语句,对于一个程序员来说,应该要学。
游戏脚本你可以学一个,比如lua, 不要纠结它的语法和形式,要思考为什么用脚本,用脚本有什么好处。大部分游戏引擎都有自己的脚本语言,你能理解他存在的意义遇到任何脚本语言就都没有问题了。
物理引擎我建议你也学一下,虽然我见过的很多游戏程序员根本不懂物理引擎,也能做出很优秀的游戏。但是当你深入研究了物理引擎,你就会觉得你游戏程序员的路还很长,就不会因此而满足现状。
最后给你一点忠告,学好数据结构很重要,做游戏的都说游戏的灵魂是程序,而程序的灵魂是数据!能创造出完美灵魂的人才是一个完美的游戏程序员。问题九:编程所写的代码 是如何变成游戏的? 人能识别有意义的字母、数字组合,就是代码。电脑机器只能识别0和1的二进制数字组合。人写的代码不能直接被电脑识别,需要一个翻译的过程,这个过程叫编译,把对人有意义的代码转换为对电脑有意义的二进制码。
你看到的游戏画面是电脑理解了这些二进制码之后的结果。电脑根据二进制码来进行游戏图像渲染、处理玩家的键盘鼠标操作信息。
举个简单的例子吧,假设人写的代码如下:
Action action = drawCar();boolean goLeftBool = getInputLeftArrow();if(goLeftBool){ action.setLocation(action.getLocation().getX()--, action.getLocation().getY());}这段代码大概意思是:画辆车,玩家按左,车往左走。编译之后形成下面这样的二进制码:
00101010100001010111110111011010100001011001010111011111011010000111010101010110001010111101101011000101010101010110110110101010101010101100101011110101010110101010101011101101110110100101110101011001010110110110101010001010101011其中每行代表源代码中的一句。就像黑客帝国一样,哈哈。这样电脑才能理解。
当然,这是个例子而已,真正编译出来的二进制码比这个要多得多!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯