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

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);  }

河北图书馆(河北省图书馆下雨天跟看书更配人大心开)河北图书馆(河北省图书馆下雨天跟看书更配人大心开)人大心开小的时候大人们常说的一句话人大心开农村的孩子大多都是从很小就开始学做饭,学针线,学除草,学收理家务但并不是每一个人都是看看美丽肤泉(32批次化妆品不合格)美丽肤泉(32批次化妆品不合格)日前,经山东省食品药品检验研究院等检验,标示为汕头市雪奇化妆品有限公司等17家企业生产的32批次化妆品不合格。涉及的标示生产企业不合格产品为汕头市雪洗衣歌歌词(静夜有声洗衣歌)洗衣歌歌词(静夜有声洗衣歌)山川河流稻香,乡关家国故园一首首经典旋律的底色,是爱国静夜有声上线福建新闻广播献礼建党百年特别策划百首红歌印象系列红色旋律里的百年芳华听歌声中蕴藏的时代濒湖脉学(濒湖脉学实脉类奉送!)濒湖脉学(濒湖脉学实脉类奉送!)实脉类有实滑弦紧长大六种脉象。实脉实脉浮沉皆得,脉大而长微弦,应指愊愊然(脉经)。译文实脉,在浮部和沉部都可以触摸到,脉体大而长,在指下强而有力地搏陕西农业信息网(扒了全国31家省市的农业信息网)陕西农业信息网(扒了全国31家省市的农业信息网)因为工作需要,经常要翻一下各个地区的农业信息网,发现各个省市在农业网站信息化服务方面的差异非常大,除了基本的常备的模块外,有些地区网高丽虹个人资料(高丽虹老了也很美)高丽虹个人资料(高丽虹老了也很美)时尚在身边今天穿什么不知道你眼中的优雅感是什么样的,是不凡的穿着还是过着一种精致的生活?其实都可以,毕竟优雅并没有一个特殊的界限,只要举止得体穿着无名高热(猪无名高热症怎么治疗?)无名高热(猪无名高热症怎么治疗?)最近有养殖户在向我们咨询猪出现了无名高热症该怎么治疗,打了很多退烧针都不管用,而且猪场也出现了不少的伤亡,急坏了我们养殖户。本文就来给咱们养殖户说先成家后立业(先成家,后立业还是先立业,后成家)先成家后立业(先成家,后立业还是先立业,后成家)男人应该先成家后立业还是先立业再成家呢?不同的人有不同的看法。有的人觉得男人应该先立业,有了自己的事业,经济上也独立了,买好了车和房爱丽丝金(登录金卡戴珊把爱丽丝约翰逊介绍给家人后)爱丽丝金(登录金卡戴珊把爱丽丝约翰逊介绍给家人后)在周日与卡戴珊姐妹同行的独家预告中,金介绍了她的母亲克里斯詹娜姐妹科洛卡戴珊考特妮卡戴珊和肯达尔詹娜,以及丈夫坎耶韦斯特给艾丽丝,杯酒人生下载(今年只想重温这部电影,杯酒人生)杯酒人生下载(今年只想重温这部电影,杯酒人生)很多年前看了一部电影叫杯酒人生(SIDEWAYS)。讲述的是两个生活失意的中年人(一个是离了婚的失败小说家一个即将结束单身生活的过气电做你的红颜好吗(只做你一人的知己红颜)做你的红颜好吗(只做你一人的知己红颜)我是爱教育爱生活。关注我,一起感受教育的酸甜苦辣,生活的五彩缤纷。那夜,激情过后的两人静静地躺在那里。他说听听音乐吧。打开手机,音乐响起。他轻
环境危机(美国无序开发页岩引爆环境危机)环境危机(美国无序开发页岩引爆环境危机)高质量能源内容,点击右上角加39关注39近年来,水力压裂技术让美国实现了页岩革命,跻身石油和天然气主要生产国行列,但该技术长期以来一直因污染流行性感冒的症状(这种病早期症状很多妈妈都会忽视!)流行性感冒的症状(这种病早期症状很多妈妈都会忽视!)不久前,5岁的安安(化名)从幼儿园回来后,就跟妈妈说头很疼,一量体温39!吃了美林后,安安退烧了,可到了晚上又反复烧了两次。第二建筑公司组织架构图(大型建筑企业组织有哪些特点?)建筑公司组织架构图(大型建筑企业组织有哪些特点?)一国内的宏观环境回顾21世纪的前20年,中国建筑业踏上了加速发展的列车,即使经历了非典金融危机中美贸易战,它也从未停下发展的脚步,新版qq不显示手机在线(QQ默认不再显示iPhone在线)新版qq不显示手机在线(QQ默认不再显示iPhone在线)在iPhone4盛行的时代,iPhone还有一个功能就是可以在QQ上显示iPhone在线,非常装逼,当年甚至有不少人找修改怎样教育幼儿(幼儿教育四步法)怎样教育幼儿(幼儿教育四步法)亲贝网小编了解到,在教育孩子的过程中,家长难免会因为一些主观或客观的原因,导致情绪崩溃,对孩子吼叫。当孩子犯错的时候,家长要做的并非打骂孩子,而是要给强生婴儿洗发水(48款宝宝洗发沐浴露评测)强生婴儿洗发水(48款宝宝洗发沐浴露评测)宝宝的皮肤娇嫩敏感,如何挑选宝宝洗发沐浴露,很多宝妈宝爸存在选择困难症。这一期,我们来开始宝宝洗发沐浴露的评测。考虑到宝宝皮肤娇嫩油脂分泌白酒品牌排名(5月白酒品牌排行榜)白酒品牌排名(5月白酒品牌排行榜)近期,多个白酒概念股表现较好,尤其是山西汾酒盘涨幅一度逼近7,创出近期及历史新高486。2元。截至6月7日收盘,股价首次突破500元大关,续创新高哥伦比亚户外服装(Columbia哥伦比亚首创铝点羽绒外套)哥伦比亚户外服装(Columbia哥伦比亚首创铝点羽绒外套)Columbia3D铝点羽绒外套天气逐渐变冷,冬季的感受越来越明确,也是各类保暖装备出笼的时刻。然而,户外活动时穿着的衣知名国企(全国知名的国企央企类名单,汇总参考)知名国企(全国知名的国企央企类名单,汇总参考)众所周知,知名央企国企,正式职工,多以校招为主。对于毕业后想去国企央企上班的考生,要怎么选对专业报志愿?才能确保被录取的几率大。1首先品牌羽绒服(今年值得买的8个羽绒服品牌)品牌羽绒服(今年值得买的8个羽绒服品牌)范主说温暖过冬最近天气真的是越来越冷了,北京上周刚刚下了初雪,气温也是降到了0度以下,范主看到很多小伙伴也都已经套上了羽绒服保暖。作为秋冬最测定空气中氧气含量的实验(空气中氧气含量的测定实验改进和拓展)测定空气中氧气含量的实验(空气中氧气含量的测定实验改进和拓展)实验21原理利用红磷燃烧消耗集气瓶内空气中的氧气,使集气瓶中压强减小,在大气压的作用下,水倒吸进入集气瓶,进入集气瓶内