教育房产时事环球科技商业
投稿投诉
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

android游戏源码(Android实现汤姆猫小游戏)

  android游戏源码(Android实现汤姆猫小游戏)
  相信好多人都玩过汤姆猫这个小游戏,要做这个小游戏其实也不难,这不,现写一个,先看效果演示。
  tom.gif
  目前实现的主要功能点包括以下两部分:
  戳 tom 的各个身体部位它会做出相应反馈,包括动作和声音。
  往右滑动屏幕的时候另外一只黄色的小狗跳出来搞怪,并发出怪声。
  鉴于我不知道这只黄色的狗子叫啥名字,后面的内容里我就称呼它为小黄吧。
  思路分析
  我们先来分析一下这个小游戏的实现思路,首先是动作效果,不管是汤姆还是小黄所做的动作,其实就是一个逐帧动画,也就是将动画拆分为帧的形式,每一帧也就是一张图片,然后按序播放一组预先定义好的图片,就像播放一卷电影一样。声音效果就很简单了,在动作发生时播放音效即可。
  这篇文章就分两部分讲吧,一部分是用手指戳汤姆,另一部分是小黄出来搞怪。
  一、戳汤姆1. 确定点击位置
  我们点击汤姆时其实是点击了一些透明的按钮,透明效果只需要给控件alpha属性设置为0即可,如下图所示我们分别给汤姆的脚,肚子,尾巴和左右脸放置了按钮点击。
  layout.png2. 逐帧动画
  逐帧动画就是加载一系列可绘制资源来创建动画,需要在xml文件的 animation-list 元素中使用 item 子元素定义动画的全部帧,并指定各帧的持续时间即可。
  第一步
  在/res/drawable目录下,定义一个逐帧动画的xml资源文件,如下<?xmlversion="1.0"encoding="utf-8"?><animation-listxmlns:android="http://schemas.android.com/apk/res/android">  <item  android:drawable="@drawable/breath_0001"  android:duration="200"/>  <item  android:drawable="@drawable/breath_0002"  android:duration="200"/>  <item  android:drawable="@drawable/breath_0003"  android:duration="200"/>  <item  android:drawable="@drawable/breath_0004"  android:duration="200"/>  <item  android:drawable="@drawable/breath_0005"  android:duration="200"/>  <item  android:drawable="@drawable/breath_0006"  android:duration="200"/></animation-list>
  这里每一个item就是一帧,drawable设置动画图片资源,duration设置一帧持续的时间(ms)。
  第二步
  播放逐帧动画,如下layout_animation.setBackgroundResource(R.drawable.breath);  AnimationDrawableanim=(AnimationDrawable)layout_animation.getBackground();  anim.setOneShot(true);//是否播放一次if(anim.isRunning()){//如果动画已经播放过  anim.stop();//停止动画}//启动动画anim.start();
  这里很简单,直接使用AnimationDrawable类的start()方法即可启动逐帧动画,另外通过setOneShot()方法可以设置是否循环一次,为true将循环一次,然后停止并保持最后一帧。如果设置为false,则动画将一直循环。
  3. 播放声音
  Android中除了MediaPlayer播放音频之外,还提供了SoundPool来播放音效,SoundPool使用音效池的概念来管理多个短促的音效,适用于短且对反应速度比较高的情况(游戏音效或按键声等),所以我们选择SoundPool来给汤姆和小黄加音效。
  (1) 实例化SoundPoolSoundPoolpool=newSoundPool(3,AudioManager.STREAM_MUSIC,1);//同时播放最大数量类型音质
  可以看到SoundPool的构造函数中有三个参数,SoundPool(int maxStreams, int streamType, int srcQuality),各参数如下
  参数maxStreams:指定支持多少个声音,也就是同时播放最大数量。
  参数streamType:指定声音类型。
  参数srcQuality:指定声音品质。
  (2) 加载声音
  得到SoundPool对象之后,就可调用SoundPool的load()方法来加载声音。load()方法有四个重载,返回值都是该声音的ID,如下//1.通过资源ID加载声音。  intload(Contextcontext,intresld,intpriority)  //2.通过FileDescriptor加载offset开始、长度为length的声音。intload(FileDescriptorfd,longoffset,longlength,intpriority)  //3.通过一个AssetFileDescriptor对象所对应的文件中加载声音intload(AssetFileDescriptorafd,intpriority)  //4.通过指定的路径加载。intload(Stringpath,intpriority)
  我们把声音文件放在res下的raw文件中,所以使用第一个重载load()方法,第一个参数是上下文,第二个参数就是我们的音频资源ID,第三个参数是声音的优先级。如下代码所示:pool.load(this,R.raw.fart003_11025,1);
  (3) 播放声音
  SoundPool提供了play()方法播放指定声音,有六个参数,如下:intplay(intsoundID,floatleftVolume,floatrightVolume,intpriority,intloop,floatrate);
  参数soundID:指定播放哪个声音,也就是上面load()方法返回的声音ID。
  参数leftVolume、rightVolume:指定左、右声道的音量。
  参数priority:指定播放声音的优先级,数值越大,优先级越高。
  参数loop:指定是否循环,0:不循环,-1:循环,其他值表示要重复播放的次数。
  参数rate:指定播放的比率,数值可从0.5到2, 1为正常比率。
  当需要播放声音时,则调用play()方法即可,如下代码所示:pool.play(soundId,1,1,1,0,1);//声音id,左声道,右声道,优先级,循环,速率
  二、小黄搞怪
  这里我们设定了右滑屏幕小黄跑出来搞怪,其原理和戳汤姆是一样的,同样是播放逐帧动画和播放声音,只是我们触发这个事件的方式不同,当然你也可以写成戳他眼睛鼻子耳朵或者左滑下滑上滑让小黄出来搞怪,这里我就只介绍一下监听手势滑动的方法。
  监听手势滑动可以利用Activity的ontouchEvent()方法或手势滑动监听器OnGestureListener等,咱们的重点在于讲解这个游戏的实现原理,这里我就只介绍第一种监听了。
  首先手指滑动的时候会先按下,滑到另一个地方再抬起,我们就可以根据按下的坐标和抬起的坐标算出是往哪一个方向滑动了,如下代码所示。@OverridepublicbooleanonTouchEvent(MotionEventevent){if(event.getAction()==MotionEvent.ACTION_DOWN){//当手指按下的时候  x1=event.getX();  y1=event.getY();  }if(event.getAction()==MotionEvent.ACTION_UP){//当手指离开的时候  x2=event.getX();  y2=event.getY();if(x1-x2>50){//向左滑    }elseif(x2-x1>50){//向右滑  //小黄开始出来搞怪  }  }returnsuper.onTouchEvent(event);  }

大庆石油学院华瑞学院(14亿收购黑龙江一所本科,值吗?)大庆石油学院华瑞学院(14亿收购黑龙江一所本科,值吗?)中国科培,(01890。HK)港股通中的高教股,2019年1月上市,市值是在百亿以上的梯队中。公司经营2所学校广东理工学院(云南红河学院(乌兰图雅到红河学院举办讲座)云南红河学院(乌兰图雅到红河学院举办讲座)5月18日,著名蒙古族青年歌唱家乌兰图雅到红河学院举办题为我的流行民歌新世界专题讲座,市委常委,市委宣传部部长张瑞华到场聆听讲座。授课中,台州职业技术学院怎么样(阿钱思维导图走进台州职业技术学院)台州职业技术学院怎么样(阿钱思维导图走进台州职业技术学院)6月2021日,阿钱老师受台州职业技术学院教发中心邀请,跟台职院的老师们分享了两天思维导图。两天的讲课,非常的开心,很欢乐网易博客等级(新浪博客等级如何快速升级)网易博客等级(新浪博客等级如何快速升级)为什么要用新浪博客?首先新浪博客是免费的,用户选择使用主要是因为在文字博客方面现在新浪博客的功能做的很好,易于操作,访问速度也可以。其次,新扬子晚报网(第七届扬子晚报艺术节!)扬子晚报网(第七届扬子晚报艺术节!)百舸奋楫百书百画百壶艺术大展第七届扬子晚报艺术节展览时间2021年7月17日23日开幕时间2021年7月17日下午1430展览地点南京图书馆负一山东梆子艺术网(山东梆子表演艺术家)山东梆子艺术网(山东梆子表演艺术家)山东梆子是流行于山东省鲁西南及鲁中地区的汉族地方戏曲剧种。又名高调梆子,简称高调或高梆。又因其高昂激越的特点,被人称为舍命梆子腔。主要流行于山东中国文化里的情与色(每日道文化分享中国情仙)中国文化里的情与色(每日道文化分享中国情仙)中国情仙是谁你知道吗?说起魂断蓝桥,很多人脑现的肯定是那部外国电影。但电影里真没有蓝桥,只有滑铁卢大桥。那是我们的翻译搞错了?还不至于,西塘住宿(西塘古镇民宿)西塘住宿(西塘古镇民宿)西塘,一个画卷般的千年古镇,白墙灰瓦袅袅如烟。在这里可以享受慢生活,找一处茶楼,听曲喝茶。站在桥上,俯视木船来往,看着河面被划开的道道涟漪,也是一种乐趣。古中国漫画家(方成,著名漫画家)中国漫画家(方成,著名漫画家)中国书画邮今天方成,著名漫画家,被誉为中国漫画界的常青树。人间本来是非多,鸡毛蒜皮一大箩,惟有弥勒胸襟阔,笑看平地起风波。弥勒佛,好快活,成天笑呵呵。课后反思(秋季第一课后反思)课后反思(秋季第一课后反思)秋季开学第一课,遇到这样情况一个熟人要让我给他孩子补课,孩子在成都树德光华(九光)由于孩子中考成绩特好进入理科实验班,在高中这一年里孩子叛逆期再加上一些小石山城记(古文观止152柳宗元小石城山记)小石山城记(古文观止152柳宗元小石城山记)此文为永州八记的末篇。自西山道口径北,逾(y)黄茅岭而下,有二道其一西出,寻之无所得其一少北而东,不过四十丈,土断而川分,有积石横当其垠
美国青蛙养殖(稻蛙综合种养模式)美国青蛙养殖(稻蛙综合种养模式)为助力乡村振兴,推动绿色渔业发展,我省于2021年5月22日至28日举办以科技助推产业发展,创新促进农民增收为主题的2021年浙江省水产科技活动周活细胞的多样性和统一性(高中生物重点知识梳理)细胞的多样性和统一性(高中生物重点知识梳理)细胞有着相似的基本结构,如细胞膜细胞质和细胞核(或拟核)等。但是,不同生物的细胞结构又有差别。除动植物细胞有差别外,总体上看,生物界存在负面能量(嫉妒的负面能量)负面能量(嫉妒的负面能量)嫉妒的负面能量,是你怕不如别人,证明自己好,不敢看见自己的不好,就嫉妒别人的好。看见别人拿什么好东西,用什么好的,你没有的就嫉妒,低频的能量产生。能量层级情人间的嫉妒(利用异性来让自己的爱人嫉妒)情人间的嫉妒(利用异性来让自己的爱人嫉妒)问大家一个问题,两个人谈恋爱的时候,什么情况下最能让彼此感到不安全感?如果你有什么想法,欢迎留言参与讨论。在我看起来,最没有安全感的恋爱模漫谈人生价值(也谈人生意义和价值)漫谈人生价值(也谈人生意义和价值)也谈人生意义和价值对于读书人,尤其是哲学专业或善思者来说,思考人生是必不可少的部分是自我认知的开始与核心,故而诞生了许多自识的书籍,也有无数名言警张家界玻璃栈道(求张家界旅游攻略!大概玩34天的样子,一般玩哪些地方?大概需要多少费用?求去过的朋友解答!)张家界玻璃栈道(求张家界旅游攻略!大概玩34天的样子,一般玩哪些地方?大概需要多少费用?求去过的朋友解答!)张家界必玩景点天门山国家森林公园大峡谷玻璃桥芙蓉镇凤凰古城可能有朋友要问巴山大峡谷(可承载500人四川巴山大峡谷建680米跨度玻璃桥)巴山大峡谷(可承载500人四川巴山大峡谷建680米跨度玻璃桥)俯瞰建设中的巴山大峡谷玻璃桥。张浪摄俯瞰建设中的巴山大峡谷玻璃桥。张浪摄俯瞰建设中的巴山大峡谷玻璃桥。张浪摄玻璃桥以公cpu正常温度(CPU温度多少正常80度合理吗?)cpu正常温度(CPU温度多少正常80度合理吗?)20171109054100作者郎孟华CPU温度多少正常,80度是正常的么?很多玩电脑的同学都知道,CPU的发热量很大,如果不散热刘真女儿不知道妈妈去世(女儿至今不知妈妈离世)刘真女儿不知道妈妈去世(女儿至今不知妈妈离世)27日,在刘真灵堂开设的第三天,生前好友小S当日一袭黑衣冒雨前往悼念好友。刘真早年曾多次做客康熙来了,在节目中拌嘴,斗舞,也因此二人结森鑫森林公园(三金鑫的森鑫森林公园)森鑫森林公园(三金鑫的森鑫森林公园)浩荡北京城,景点繁如星,真诚去旅行,浅说景点事。说到比较热门的景点,大多数人都能说出来几个,但是冷门小众的景点,又有几人知?今天要说的就是不为人86年的拉菲(朋友掏出86年拉菲)86年的拉菲(朋友掏出86年拉菲)这几天,有个朋友掏出86年的拉菲请我品鉴,把照片发给我的时候,我吓呆了,关看这酒标,估计成了醋了。下面这瓶是另一个朋友保存的,看着酒标,保存的不错