【读书笔记《Android游戏编程之从零开始》】9.游戏开发基础(如何快速的进入 Android 游戏开发)
1.不可盲目看API文档
很多人在接触学习一门新的平台语言时,总喜欢先去探究一番API文档。先不说成效如何,至少编者认为这种方式不适合大部分人来效仿,主要原因在于 API 领域广泛,牵涉到的知识点太多,而对于刚刚接触平台开发语言的大部分人来说,遗忘速度远远大于记忆!这种做法是大量消耗精力、小量吸取知识的方法,只会事倍功半。
2.前人栽树,后人乘凉
对于初学者来说,任何想要学习与掌握的知识点,之前都会有高人总结过;所以建议大家每学习一个知识点,都尽可能的先动手去网上搜索和学习别人总结出来的相关知识点的文章,毕竟前任总结的知识会让你减少学习的弯路。最后再根据每个知识点去详细翻阅相关的 API 文档,有针对性、有目的性的去看 API 文档才会是事半功倍。
3.好记性不如烂笔头
这句谚语,几乎无人不知无人不晓,但是总被许多初学者抛在脑后。在学习的时候,总是看代码多,而动手练习代码少!身为一个程序员都应该很清楚,代码如果不多动手敲它,它永远不会自己跑进脑中,所以多动手才是成功的关键。
4.养成自学的习惯
学习新的知识如果总是抱着依赖和期望别人手把手教授,那就不太现实了。因为没有任何一个人能时时刻刻的陪在身边给予帮助,但是使用 Baidu 和 Google 可以做到!它们拥有着最全的资源库,使用它们可以查找到最强的技术,不过,它们永远都只在那里等待你去使用它们,如果你不动手去搜索,那么对于你来说它们毫无用处。
5.利用小项目实战进步快
在学习游戏开发时,一定要多做小项目,比如今天学会了一个新的知识点,那么首先就要尽可能发散思维,多思考这个知识点会应用到什么类型的游戏中,并在游戏中起到什么样的作用等等。然后拿出时间一定要去写一个小项目联系新知识点。
写小项目有两点好处:一是巩固新知识点;二是通过小项目发现知识点实际应用到游戏中会出现的问题,有些问题不亲自动手编写是根本无法发现的。
6.进步来源于问题
好程序不是写出来的,是改出来的!这句话没有人能反驳,因为谁写代码都不可能是一遍成功,不用修改不用完善的。
学习中遇到问题时,不应该烦躁而是应该庆幸,因为解决掉问题就意味着进步。千万不要出到问题不假思索就去请教他人,这样解决掉的问题没有任何意义。
当然不推荐大家遇到问题一定就铁下心的自己去几天几夜的钻研,应该自我把握问题的难易度,如果问题确实超出自己能力的,那么请教他人反而对自己更有帮助,有效率,前提是自己考虑过如何解决此问题。
其实,游戏开发的学习过程应该是一个拼图的过程.首先要分模块来学习,积累了一定的模块知识后,再通过这些模块就可以拼出各种类型\各种风格的游戏。
在游戏开发中,一般很少使用系统提供的组件进行开发,其主要原因在于游戏的多样性.比如一款"连连看"游戏,它就可以有N种玩法、N种场景、N种风格、N种元素.所以,如果还期望从系统中找到对应组件的话,结果会令人失望,不是系统不想提供,而是它永远无法知道将要制作的游戏类型、风格等等。
总结一句话:
开发一款游戏,请用自己的双手为这款游戏创建专属它的组件!换言之,就是要自己去实现游戏中的组件,不要再一味的幻想系统能为你带来什么。系统只提供“一支笔”、“一张画布”,仅此而已。至于能创造出多么精彩的游戏世界,那完全取决于游戏开发者。
【读书笔记《Android游戏编程之从零开始》】9.游戏开发基础(如何快速的进入 Android 游戏开发)的更多相关文章
- Windows游戏编程之从零开始d
Windows游戏编程之从零开始d I'm back~~恩,几个月不见,大家还好吗? 这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧. woxiangnifrr童鞋说每天都在来 ...
- Java并发编程的艺术读书笔记(2)-并发编程模型
title: Java并发编程的艺术读书笔记(2)-并发编程模型 date: 2017-05-05 23:37:20 tags: ['多线程','并发'] categories: 读书笔记 --- 1 ...
- Java并发编程的艺术读书笔记(1)-并发编程的挑战
title: Java并发编程的艺术读书笔记(1)-并发编程的挑战 date: 2017-05-03 23:28:45 tags: ['多线程','并发'] categories: 读书笔记 --- ...
- 《Essential C++》读书笔记 之 C++编程基础
<Essential C++>读书笔记 之 C++编程基础 2014-07-03 1.1 如何撰写C++程序 头文件 命名空间 1.2 对象的定义与初始化 1.3 撰写表达式 运算符的优先 ...
- 【读书笔记《Android游戏编程之从零开始》】18.游戏开发基础(碰撞检测)
1.矩形碰撞 所谓矩形碰撞,就是利用两个矩形之间的位置关系来进行判断,如果矩形的像素在另外一个矩形之中,或者之上都可以认为这两个矩形发生了碰撞. 如果单纯的去考虑哪些情况会判定两个矩形发生碰撞,倒不如 ...
- 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)
1. Animation动画 在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimati ...
- 【读书笔记《Android游戏编程之从零开始》】14.游戏开发基础(Bitmap 位图的渲染与操作)
Bitmap 是图形类,Android 系统支持的图片格式有 png.jpg.bmp 等. 对位图操作在游戏中是很重要的知识点,比如游戏中需要两张除了大小之外其他完全相同的图,那么如果会对位图进行缩放 ...
- 【读书笔记《Android游戏编程之从零开始》】12.游戏开发基础(Canvas 画布)
1.Canvas 画布 画布类 Canvas 封装了图形和图片绘制等内容,此类常用的函数说明如下: drawColor(int color) 作用:绘制颜色覆盖画布,常用于刷屏 参数:颜色值,也可用十 ...
- 【读书笔记《Android游戏编程之从零开始》】11.游戏开发基础(SurfaceView 游戏框架、View 和 SurfaceView 的区别)
1. SurfaceView 游戏框架实例 实例效果:就是屏幕上的文本跟着点击的地方移动,效果图如下: 步骤: 新建项目“GameSurfaceView”,首先自定义一个类"MySurfac ...
- 【读书笔记《Android游戏编程之从零开始》】1.Android 平台简介与环境搭建
简单的记录下笔记,具体可百度! Android SDK (Software Development Kit)- Android 软件开发工具包,用于辅助Android 操作系统软件开发,是开发Andr ...
随机推荐
- uml中的几种关系
这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...
- C# Out 传值
public void Out(out int a, out int b) {//out相当于return返回值 //可以返回多个值 //拿过来变量名的时候,里面默认为空值 a=1; b=2; } s ...
- log4net学习笔记
一直想找一个好用的日子类,今天偶然的机会看到了log4net这个类库,过来学习一下. log4net是.NET框架下的一个日子类库,官网是http://logging.apache.org/log4n ...
- Arcengine实现创建网络数据集札记(二)
四 ArcEngine实现创建网络数据集 ArcEngine创建网络数据集的过程,与ArcMap设置的过程类似,主要通过六个步骤即可以实现. 1 定义网络数据集对象,并设置基本属性,包括网络数据集名称 ...
- R语言学习笔记:分析学生的考试成绩
孩子上初中时拿到过全年级一次考试所有科目的考试成绩表,正好可以用于R语言的统计分析学习.为了不泄漏孩子的姓名,就用学号代替了,感兴趣可以下载测试数据进行练习. num class chn math e ...
- 2014年听写VOA50篇
在沪江英语的VOA听写栏目上听写完成50篇,听写笔记PDF. 103.VOASP.2014奥巴马国情咨文(1-3).mp3 104.VOASP.2014奥巴马国情咨文(2-3).mp3 105.VOA ...
- Android—Ormlite框架简单的操作数据库
大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app:本篇博客将详细介绍ORMLite的简易用法. 下面开始介 ...
- IOS 网络浅析-(四 get&post)
网络请求默认是get 网络请求有很多种:GET查 POST改 PUT增 DELETE删 HEAD 在平时开发中主要用的 是 get 和 post. get 获得数据 (获取用户信息) get 请 ...
- ReSharper 卸载后 VS2012 没有提示问题
虽然ReSharper非常强大,但由于公司电脑配置太差,被迫卸载了.但发现卸载后,VS2012自带的提示都没有了. 网上找了下相关的解决方法.摘抄下来,作为自己笔记. 解决方法原文出处:http:// ...
- Windows 编 程中的字符串
(1)在win32编程中,如何使用string类型 #include <string> using namespace std; LPTSTR lpCmdLine = L" ...