摘要: 在前面写到了一个即时音效的应用,主要应用在短了7s的声音,对于背景音乐这种对延时不是很严格的游戏来说,而又对音乐长度有要求的应用我们用的还是地MediaPlayer这个类里的东西。我们现在使用的音乐播放器大多也是用这个来实现的。所以游戏背景音乐对这个来说也是学习一下的。初始代的步骤:1、用MediaPlayer new一个对象出来2、设置这个对象要播放的文件路径3、调用用prepare()方法缓冲4、调用.start()方法开始播放5、播放过程可以调用stop()方法停止播放6、播放过程也可以调用pasued()方法来暂停播放注意:这里如果调用stop()方法停止播放之后,要重新返回到prep 阅读全文
posted @ 2012-09-08 16:54 春天的故事 阅读(4114) 评论(1) 推荐(0) 编辑
摘要: MediaPlayer与即时音效在android游戏开发中,有一些需要一点就播放音乐的需求,比如在飞车中的加速声音、下旗的滴滴声等,这些很短快速的就需要使用Android的即时音效。如果用MediaPlayer会占用大量的系统资源,而且播放的时候还需要缓冲,有较大的时延,因此即时音效就能补充它的不足。即时音效的主要类publicSoundPool(int maxStreams, int streamType, int srcQuality)Since:API Level 1创建SoundPool对象ParametersmaxStreams设置最多同时播放的音效个数streamType设置音频的 阅读全文
posted @ 2012-09-07 12:50 春天的故事 阅读(3899) 评论(0) 推荐(1) 编辑
摘要: 快速排序法与一般的冒泡排序法差不多,区别可能就是冒泡会不断的交换,而快速排序法先找到最小的那个值,然后把这个最小值放在数组的最前面,游标往下走,举个例子:原数组:4,5,1,7,6第一趟:1,5,4,7,6第二趟:1,4,5,7,6第三趟:1,4,5,6,7这个原理比较简单。代码由下:class Select{ public void select_sort(int[] arrays){ int min=0; int begin=0; for(int i=0;i<arrays.length;i++){ for(int j=i... 阅读全文
posted @ 2012-09-05 00:38 春天的故事 阅读(539) 评论(0) 推荐(1) 编辑
摘要: 堆排序是一种利用完全二叉树来解决问题的高效算法,合法的最大堆树要满足一个条件就是每一个结点值都要大于或等于它的孩子结点值。在一个数组中那专业法表示为:arrays[i]>=arrays[2*i+1] && arrays[i]>=arrays[2*i+2]; 最小堆类似,只要改为冒最小值即可。堆排序树的构造过程找最大值过程由下图,数组arrays[0....n]为:17,8,45,84,2,94,刚找到最大值后把最大值即94放在数组的最后面arrays[n],然后进入递归把arrays[0...n-1]再进入下面图这个过程,只是把排好序的最大值不放入到这个过程中,就这 阅读全文
posted @ 2012-09-04 22:11 春天的故事 阅读(13911) 评论(1) 推荐(0) 编辑
摘要: 合并排序算法是用分治策略实现对N个元素进行排序的算法。其基本思想是:将待排序元素分成大小大致相同 的两个子集合,分别 对两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。重点:1.分治的实现2.合并的实现分治,就是把整个集合的元素一直除2化分,一直化为到没有两个元素开始合并。图:分治的时候比较简单,一直除2递归就行了,合并的时候为了方便就借助另一个变化的数组来接收交换的数组,合并的时候,两个指标i、j,把值比较小的放入temp数组中,然后放入那个值的那一边的指标自加,继续比较。一直把值合部排完合并为一个数组,然后把temp数组复制回到原来数组就可以进入下一个递归。完全代码由下 阅读全文
posted @ 2012-09-04 10:58 春天的故事 阅读(8309) 评论(5) 推荐(1) 编辑
摘要: 所谓的快速排序的思想就是,首先把数组的第一个数拿出来做为一个key,在前后分别设置一个i,j做为标识,然后拿这个key对这个数组从后面往前遍历,及j--,直到找到第一个小于这个key的那个数,然后交换这两个值,交换完成后,我们拿着这个key要从i往后遍历了,及i++;一直循环到i=j结束,当这里结束后,我们会发现大于这个key的值都会跑到这个key的后面,不是的话就可能你写错了,小于这个key的就会跑到这个值的前面;然后我们对这个分段的数组再时行递归调用就可以完成整个数组的排序。用图形法表示由下:这样就以key分为了两个段,我们把这两个段再递进去就可以解决问题了实现代码由下: 1 packag 阅读全文
posted @ 2012-09-03 10:03 春天的故事 阅读(39813) 评论(10) 推荐(5) 编辑
摘要: 最近发现在搞Android的都要懂一点数据结构和算法才能进阶到高手,所以就回去复习了一下基础,为一些公司招聘做题做准备。今天研究了一下最大公约数的求法,在网上也找了不同的解法,现在就想总结一下,拿出来分享给大家,共同 学习首先讲一个什么是公约数,这个问题我们小学都学过,可能有一部分人已经忘记了,所以还是讲一下,假设有两个数a,b,所谓的公约数就是能把a,b整除的最大整数。明白了要求我们就来解决问题,一拿到问题我们都应该都能想到一个方法,就是使用穷举法,从2开始一个个找,到一个两个都能除的就记录起来,一直找到小于min(a,b)结束,记录到的值就是他们的最大公约数代码由下:?代码片段,双击复制0 阅读全文
posted @ 2012-09-03 09:26 春天的故事 阅读(19643) 评论(2) 推荐(3) 编辑
摘要: HttpClient是目前一个非常流行的对网络编程的一个函数库,他能完成的功能跟一个浏览器一样,只是他不执行一些脚本语句,如javascript。HttpClient提供了Http支持的所有访问的方法,我们来看一个比较常 的两个方法Get和Post,下面是最基本的应用示例: 1 package cn.edu.gdou; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 6 import org.apache.http.HttpEntity; 7 import org.apache.http.HttpRespons.. 阅读全文
posted @ 2012-06-10 11:39 春天的故事 阅读(1694) 评论(0) 推荐(0) 编辑
摘要: 1956年,Chomsky建立形式语言的描述。通过对产生式的施加不同的限制,Chomsky把文法分为4种类型 首先定义一个产生式 α→β0型文法定义:0型文法(PSG): α∈(VN∪VT)* ,且至少含一个VNβ∈(VN∪VT)*对产生式没有任何限制 例如:A0→A0 , A1→B0型文法说明:0型文法也称为短语文法。 一个非常重要的理论结果是,0型文法的能力相当于图灵机(Turing)。或者说,任何0型语言都是递归可枚举的;反之,递归可枚举集必定是一个0型语言。 对0型文法产生式的形式作某些限制,以给出1,2和3型文法的定义。(注意)文法G 定义为四元组(VN ,VT ,P,S)¨ 阅读全文
posted @ 2012-05-03 17:59 春天的故事 阅读(25762) 评论(1) 推荐(3) 编辑