第二章:Android游戏开发之前台渲染
2012-07-21 11:57
232 查看
1.布局管理
安卓的四种布局模式:
线性布局
表格布局
相对布局
单帧布局
坐标布局
目前安卓建议不要用坐标布局,容易因屏幕尺寸或者其他问题产生问题。这几种布局我没有展开说,是因为就是拖拽就可以实现,目前没看到什么好展开讲得东西。
2.常用控件及其事件处理
目前只学到一招,为button等控件增加click的监听。首先我们的activity类需要实现OnClickListener接口。并实现接口的onClick方法。并为button加上相应的setOnClickListener(this)方法。
3.图形和动画
自定义图形,要新建activity 继承自View ,并实现View的onDraw(Canvas canvas)方法。具体的绘图是用canvas实现的。最后我们可以将实现的View直接拖到相应的布局中。那么在自定义视图中如何实现自定义事件呢?(这里先留一个伏笔,后面我们遇到会解决这个问题)
绘制已经存在的图片,我们用bitmap方法实现。先新建一个bitmap,然后用canvas.drawBitmap()系列的方法实现。、
安卓主要有两种类型的动画,一种是渐变动画(图像变换),一种是帧动画(顺序播放动画帧),渐变动画有4中类型,alpha透明度,scale尺寸伸缩,translate位置变化,rotate旋转。使用渐变动画的时候,按如下步骤:
1、在res/drawable-mdpi文件夹下放一个图片img
2、res目录下建立一个anim文件夹
3、新建一个myanim.xml文件
4、编写渐变效果。这个要看各个动画的规范。
5、在布局中加入ImageView,
6、修改java文件,加载一个动画 myAnimation = AnimationUtils.loadAnimation(this,R.anim.myAnimation);加载容器ImageView = ? ;开始动画myAnimation.startAnimation(myAnimation);
4.多媒体开发
音频:音频有两种,SoundPool适合短促的时间要求较高,MediaPlayer适合长但是时间要求不高。soundPool是异步调用的,初始化和播放是两个线程。而mediaplayer同步的。两种initSound的方法不同。mediaPlayer = MediaPlayer.create(this,R.raw.sound);
soundPool = new SoundPool(4,AudioManager.STREAM_MUSIC,100));
soundPoolMap = new HashMap<Integer,Integer>);
soundPoolMap.put(1,soundPool.load(this,R.raw.sound,1));
播放的方法也不同,对于mediaPlayer,我们先判断isPlaying的状态,然后调用mediaPlayer.start();播放即可。而对于soundPool,我们需要调用soundPool.play(soundPoolMap.get(sound),volume,volume,1,loop,1f));的方法进行播放。
视频:这个地方视频一直加不进去视频(用的surfaceView)具体的开发,在今后如果遇到需要重新学习。
照相功能:就是利用camera的功能。这里也先跳过这部分的学习。
ok,第二章学习到此结束。
安卓的四种布局模式:
线性布局
表格布局
相对布局
单帧布局
坐标布局
目前安卓建议不要用坐标布局,容易因屏幕尺寸或者其他问题产生问题。这几种布局我没有展开说,是因为就是拖拽就可以实现,目前没看到什么好展开讲得东西。
2.常用控件及其事件处理
目前只学到一招,为button等控件增加click的监听。首先我们的activity类需要实现OnClickListener接口。并实现接口的onClick方法。并为button加上相应的setOnClickListener(this)方法。
3.图形和动画
自定义图形,要新建activity 继承自View ,并实现View的onDraw(Canvas canvas)方法。具体的绘图是用canvas实现的。最后我们可以将实现的View直接拖到相应的布局中。那么在自定义视图中如何实现自定义事件呢?(这里先留一个伏笔,后面我们遇到会解决这个问题)
绘制已经存在的图片,我们用bitmap方法实现。先新建一个bitmap,然后用canvas.drawBitmap()系列的方法实现。、
安卓主要有两种类型的动画,一种是渐变动画(图像变换),一种是帧动画(顺序播放动画帧),渐变动画有4中类型,alpha透明度,scale尺寸伸缩,translate位置变化,rotate旋转。使用渐变动画的时候,按如下步骤:
1、在res/drawable-mdpi文件夹下放一个图片img
2、res目录下建立一个anim文件夹
3、新建一个myanim.xml文件
4、编写渐变效果。这个要看各个动画的规范。
<?xml version="1.0" encoding="utf-8"?><!-- XML的版本以及编码方式 --> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="8000" /> <!-- 透明度的变换 --> <scale android:interpolator= "@android:anim/accelerate_decelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.4" android:fromYScale="0.0" android:toYScale="1.4" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:duration="10000" /> <!-- 尺寸的变换 --> <translate android:fromXDelta="30" android:toXDelta="0" android:fromYDelta="30" android:toYDelta="50" android:duration="10000" /> <!-- 尺位置的变换 --> <rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:duration="10000" /> <!-- 旋转变换 --> </set>
5、在布局中加入ImageView,
6、修改java文件,加载一个动画 myAnimation = AnimationUtils.loadAnimation(this,R.anim.myAnimation);加载容器ImageView = ? ;开始动画myAnimation.startAnimation(myAnimation);
4.多媒体开发
音频:音频有两种,SoundPool适合短促的时间要求较高,MediaPlayer适合长但是时间要求不高。soundPool是异步调用的,初始化和播放是两个线程。而mediaplayer同步的。两种initSound的方法不同。mediaPlayer = MediaPlayer.create(this,R.raw.sound);
soundPool = new SoundPool(4,AudioManager.STREAM_MUSIC,100));
soundPoolMap = new HashMap<Integer,Integer>);
soundPoolMap.put(1,soundPool.load(this,R.raw.sound,1));
播放的方法也不同,对于mediaPlayer,我们先判断isPlaying的状态,然后调用mediaPlayer.start();播放即可。而对于soundPool,我们需要调用soundPool.play(soundPoolMap.get(sound),volume,volume,1,loop,1f));的方法进行播放。
视频:这个地方视频一直加不进去视频(用的surfaceView)具体的开发,在今后如果遇到需要重新学习。
照相功能:就是利用camera的功能。这里也先跳过这部分的学习。
ok,第二章学习到此结束。
相关文章推荐
- Android游戏开发基础part4--Bitmap位图的渲染与操作
- Android游戏开发基础part4--Bitmap位图的渲染与操作
- android游戏开发(一)简单的图形渲染
- android游戏开发(一)简单的图形渲染
- Bitmap位图渲染与操作(图片移动,放大,缩小,旋转,镜像发转)--android游戏开发
- 【Android游戏开发二十三】自定义ListView【通用】适配器并实现监听控件!
- Android游戏开发起步(译文)
- android游戏开发框架libgdx的使用(一)--环境搭建
- Android应用和游戏开发最佳学习路线
- android游戏开发框架libgdx的使用(十八)—简单的AVG游戏效果实现
- Android游戏开发---2D游戏中背景的绘制
- Android游戏开发---关于实体的绘制与跟踪技术
- Android平台开发游戏
- android游戏开发框架libgdx的使用(十六)—使用TexturePacker工具加快开发速度
- Android基于box2d开发弹弓类游戏[六]-------------移动的镜头&添加目标
- Android——Cocosd2d-x手机游戏开发学习思路
- Android 3D游戏开发(一)
- Android游戏开发中使用Libgdx引擎遇到的问题及解决办法汇总
- Java游戏开发框架LGame-0.2.6发布(含PC及Android版)
- Android游戏开发之SurfaceView的使用-android学习之旅(五)