【菜鸟的成长之路】android游戏开发学习历程——记录每天的学习内容之【第一天】
来源:互联网 发布:cell重用后 数据乱了 编辑:程序博客网 时间:2024/04/29 01:35
日记!对!这就是日记。
我是一个编程菜鸟,写这些东西的目的,只是给自己在枯燥的学习之余,找一种回味与复习的方式。开始准备买本日记本来写,后来觉得还是写到这地方吧,一来方便,提笔现在真的就忘字了。再者如果有跟我一样开始的菜鸟,或者在我后面开始学习的菜鸟搞不好也还能给他们一些学习上的帮助,(哈哈,现在这样说未免太早了)。既然这样今天开始,如果每天12点之后在线的话我坚持更新,我想用这种方式来鞭笞自己的学习。
今天刚接触游戏编程,上网找了很久!发现android的游戏开发方面的书籍资料真的太少了,看了许多地方只找到一本叫《android游戏开发宝典2.0》的书,今天就看了这本书。之前几个礼拜我看了网上的android应用开发的视频教程,对android的Activity、Service、BroadcastReceiver、ContentProvider,SQLite基本了解了,这本书前几章的内容也就讲的这些,关键是我觉得看完真的还是对游戏开发一头雾水,而且后面就直接开始实例讲解了。难道了解了上面的这些就可以进行游戏开发了?
游戏编程其实就是不停的或者在需要的时候更新游戏界面,这是我今天有收获的一句话,要刷新界面于是就需要一个可以画图的视图,android有view 和surfaceView来实现,继承它来实现绘制界面。view和surfaceView的区别说法是避免ui线程的阻塞,给游戏照成卡的状况。(surfaceView可以在新起的线程中绘图而View必须在UI的主线程中更新画面)
1 被动更新画面的。比如棋类,用view就行了。它主要是依赖玩家的操作来跟新画面。
2 主动更新。比如一个人在一直跑动。这就需要一个单独的线程不停的重绘人的状态,避免阻塞主线程。需要surfaceView来控制。
下面讲下我今天看到得最基本的绘图,在view 和 surfaceView上画一些几何图形,
android的绘制需要画布(canvas),和画笔(paint),使用时需要得到它们。
1、继承view类的,要求实现它的ondraw(Canvas Canvas)方法,游戏画面在此绘制,绘制之前需要得到paint画笔,Paint paint = new Paint();可以给画笔设置一些属性,空心、实心,颜色,透明度啊等等。(我去翻了下帮助文档,需要用可以看看)。然后就是canvas上画图了,比如画一个矩形,canvas.drawRect(x,y,x1,y1);,帮助文档里面的方法都试了下,画了一些图形。
2、继承surfaceView,开始我看这个比较麻烦,继承surfaceView并且还需要实现callback接口,对绘制的画布的操作需要通过surfaceholder来实现,surfaceholder通过getHolder获得,得到surfaceholder后需要给它添加addcallback回调函数。surfaceView没有实现ondraw(Canvas Canvas)方法,自己定义绘制方法draw(),下面就是surfaceview在线程中画几何图形,可以让类再实现runnable接口。在线程中调用draw()方法。
首先需要得到画布和画笔,
画笔paint = new paint();同view。
画布canvas = surfaceholder.lockCanvas();//得到画布并锁定画布,
然后开始画图形,比如画一个矩形,canvas.drawRect(x,y,x1,y1).
绘制后必须解锁画布并提交画布才能显示
surfaceholder.unlockCanvasAndPost(canvas);
以上便是今晚几个小时的学习,资料匮乏,自学真心有点难,又是第一次把这半斤八两的学习内容写下来,估计表达的有很多不准确、而且意思不到位。
3点了睡觉。
- 【菜鸟的成长之路】android游戏开发学习历程——记录每天的学习内容之【第一天】
- 【菜鸟的成长之路】android游戏开发学习历程——记录每天的学习内容之【第三天】
- 【菜鸟的成长之路】android游戏开发学习历程——记录每天的学习内容之【第二天】
- 【菜鸟的成长之路】android游戏开发学习历程——记录每天的学习内容之【第四天】
- 【菜鸟的成长之路】android游戏开发学习历程——今天找到工作了,嘻嘻哈哈【第N天】
- 一个Android应用开发菜鸟的成长之路——工作第一天:解决了java.lang.NoClassDefFoundError问题
- 记录学习历程的第一天
- 手机游戏刷表流程记录—服务端菜鸟的成长之路
- 今天算是开博的第一天,希望能记录我菜鸟的成长之路吧
- 设计模式学习之路 - 序言 - 记录自己的成长历程
- 第一天开始,记录自己的学习历程
- 学习游戏开发的第一天
- IT——Blog学习之路的第一天
- 前端菜鸟的成长学习之路(一)
- 前端菜鸟的成长学习之路(二)
- 程序员成长之路---“学习”与“面试笔试”总结篇之曲折的成长历程与求职历程
- 程序员成长之路---“学习”与“面试笔试”总结篇之曲折的成长历程与求职历程
- 一个立志终身学习的菜鸟之-------学习历程
- Creating programmatically a switch (UISwitch)
- SAX生成XML
- php中的一些常量以及获取当前类名函数名的方法
- Windows Phone开发(二)-- 框架结构和启动过程
- PHP 面向对象化程序设计
- 【菜鸟的成长之路】android游戏开发学习历程——记录每天的学习内容之【第一天】
- MFC Static控件背景透明时文本覆盖重影
- The Dog In The Manger
- Findahome advert final(LinQ)
- linux文件的属性介绍
- Android IMSI和IMEI
- 越粗越好吗?高低价HDMI线缆全面对比
- 日语
- 转:在纽约游如何省钱