android 游戏之场景的实现以及拓展应用照片浏览器有些天没有写博客了,最近一直在为游戏打基础,主要因为之
android 游戏之场景的实现以及拓展应用照片浏览器
有些天没有写博客了,最近一直在为游戏打基础,主要因为之前是做应用,对游戏还不够了解.(这里瞎扯一点,我之所以转游戏,一方面:因为应用比较简单,开发人员跳级性的增长,加上HTML5的流行,如果HTML5移动上面完全铺开的话,后面可想而知...第二嘛:挣钱多,这也是我要转行的最主要的因素,敢问当今,这年代没钱能做什么!!!扯淡话不多说了,总之程序这条路是为我集资.吃苦受累都是浮云.钱才是王道.)
下面我们说下有游戏,当我们过关卡的时候游戏中或许出现场景切换,这对做游戏开发的同学们在熟悉不过了,这里我简单介绍下,一来自己巩固下学习的知识,二来把我学习的心得分享出来,以便大家共同进步.
实现原理:首先我们对屏幕进行clipRect获取相应的矩形模块.然后在用图片进行填充.
矩形(横向)交差场景实现:
/*** * 矩形场景(横向) */public void doRect_H() {/** 交错的实现矩形相交 **/int ractHeight = (mScreenHeight / ractCount);// 获取每个矩形宽度.// 左边开始(偶数0,2,4...)for (int i = 0; i < ractCount; i += 2) {drawFillRect(mCanvas, Color.BLACK, 0, i * ractHeight, rectStep,ractHeight);}// 右边开始(奇数1,3,5...)for (int i = 1; i < ractCount; i += 2) {drawFillRect(mCanvas, Color.BLACK, mScreenWidth - rectStep, i* ractHeight, rectStep, ractHeight);}}我简单讲解下流程:针对屏幕我们分割成10条矩形,然后我们在对这10条矩形进行一一填充.而填充的就是下一个的场景.矩形(纵向)交差场景同理.这里要说明一点,你要理解canvas的save和restore方法.
save:用来保存Canvas的状态。save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作。
restore:用来恢复Canvas之前保存的状态。防止save后对Canvas执行的操作对后续的绘制有影响。
save和restore要配对使用(restore可以比save少,但不能多),如果restore调用次数比save多,会引发Error。save和restore之间,往往夹杂的是对Canvas的特殊操作。
百叶窗场景实现:
/*** * 百叶窗场景 */public void doSQUARE() {/** 百叶窗效果利用双for循环 修改每个矩形绘制的宽度 **/for (int i = 0; i <= (mScreenWidth / squareRange); i++) {// 算取宽包含多少个正方形,for (int j = 0; j <= (mScreenHeight / squareRange); j++) {// 算去高包含多少正方形.drawFillRect(mCanvas, Color.BLACK, i * squareRange, j* squareRange, rectStep, rectStep);}}}简单说明:根据View的宽高分割成若干个正方形然后一一进行填充.滚动(向右)水纹场景:
就说到这里,如有疑问请留言。
另外,如果对您有帮助的话,记得赞一个.
在此:Thanks for you !
- 4楼jie8975496635天前 00:35
- 本人新手,请问你都是用java做的吗?你是上大学学的吗?
- Re: jj1205224天前 18:51
- 回复jie897549663n嗯,java做的.工作中学的.
- Re: jie8975496634天前 22:39
- 回复jj120522n大学里能学到吗?觉得很好,属于自学吗?
- Re: jj120522昨天 15:10
- 回复jie897549663n大学里或许很少吧,不过自学没问题的,网上资料很多的.n悲剧,我大学那会就接触了点J2EE,共同努力吧!
- 3楼vvqiu5天前 00:30
- [quote=jie897549663]本人新手,请问你都是用java做的吗?你是上大学学的吗?[/quote]n其实等你大学学出来,这技术不说过时,也基本饱和了。要么你参加培训,要么自学。安卓巴士资料多一点,QQ群:安卓游戏开发 群主恋你建了好几个 首页就能看到。大学只能学基础,不会跟着社会步伐前进的
- 2楼feng33ge5天前 00:26
- 求源码!!!!!!!!
- 1楼qqOO37475天前 00:17
- 有点复杂
