第二章:Android游戏开发之前台渲染
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、編寫漸變效果。這個要看各個動畫的規范。
<?xml version="1.0" encoding="utf-8"?><!-- XML的版本以及編碼方式 --> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alphaandroid:fromAlpha="0.1" android:toAlpha="1.0" android:duration="8000" /> <!-- 透明度的變換 --><scaleandroid: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"/> <!-- 尺寸的變換 --><translateandroid:fromXDelta="30" android:toXDelta="0" android:fromYDelta="30"android:toYDelta="50" android:duration="10000" /> <!-- 尺位置的變換 --><rotateandroid: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,第二章學習到此結束。
轉載于:https://www.cnblogs.com/snail-tomorrow/archive/2012/07/21/2602149.html
總結
以上是生活随笔為你收集整理的第二章:Android游戏开发之前台渲染的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Top-down与Bottom-up
- 下一篇: android sina oauth2.