本篇要來把我們之前寫的小遊戲,改寫成android手機遊戲
Unity教學系列文章
如果你沒有安裝Android套件,要先去unity hub安裝
Unity底下有一個Android的標誌,就代表已經安裝了
本篇分三小節:
1. 飛機的移動改成觸控操作
2. 子彈射擊改成自動發射
3. 輸出APK檔的設定
1. 飛機的移動改成觸控操作
打開ShipControl.cs
在public GameObject Bullet;前面加上兩條斜線//
這樣子程式就不會被執行,你可以看到他變成不同的顏色
如果我們以後要改回來,只要把前面的斜線刪掉即可
同樣地
把void Update()底下,原來的控制程式
在原來的程式的頭尾分別加上/*和*/
如果程式有很多行,就用這個方式
然後void Update()底下加入
if (Input.GetTouch(0).phase == TouchPhase.Moved) //如果觸控的狀態是拖曳
{
float x = Input.touches[0].deltaPosition.x * Time.deltaTime * 0.5f;
float y = Input.touches[0].deltaPosition.y * Time.deltaTime * 0.5f;
transform.Translate(new Vector3(x, y, 0));
}
這樣就可以用觸控螢幕操作飛機了,不過要放手機裡才可以測試觸控
2. 子彈射擊改成自動發射
跟自動產生外星人一樣
打開GameFunction.cs
在前面加上
public float BulletTime; //子彈的時間
public GameObject Ship;
public GameObject Bullet;
在void Update()底下加入
BulletTime += Time.deltaTime;
if (BulletTime > 0.15f && IsPlaying == true) //每隔0.15秒產生一個子彈
{
Vector3 Bullet_pos = Ship.transform.position + new Vector3(0, 0.6f, 0);
Instantiate(Bullet, Bullet_pos, Ship.transform.rotation);
BulletTime = 0f;
}
好了之後存檔
然後Background底下就會出現Ship和Bullet的空格
把對應的物件拉進去後存檔,然後測試一下子彈會不會自動發射
3. 輸出APK檔的設定
File → Build Settings...
1. Add Open Scenes
2. 選Space,注意你要Build的Scene,不要選錯
3. 選Android
4. 按Player Settings...
為你的APP選個圖示
1. 選Player
2. 按Select
按下後會自動把Project裡有的圖片都叫出來
我選了外星人當Icon
關閉視窗,回到剛剛的畫面
按Switch Platform
安裝APP的細節請參考這篇文章
有兩個辦法:
1. 直接安裝到手機上
2. 建立APK檔,自行複製到手機上安裝
1. 直接安裝到手機上
手機開啟USB偵錯後,就能選你的手機了
如果沒看到可以按一下Refresh
然後按Build And Run,就直接在手機上執行了
2. 建立APK檔,自行複製到手機上安裝
然後按Build就會產生APK檔
把這個APK檔複製到手機裡,之後在手機裡安裝這個APK
如果舊手機有碰到硬體不支援的問題
可以參考這篇 Unity輸出Android硬體不支援
其他參考文件:
Unity 如何去設定行動裝置的畫面翻轉
https://gn02214231.pixnet.net/blog/post/211524319