Unity 2D遊戲製作
除錯背景
2D遊戲的製作最重要的是層的設定
先設定兩個層①Layers②Edit Layers③Sorting Layers新增兩個層BackGround和Front
除錯大雁
建立2D object改名BackGround設定背景圖片修改為BackGround 0層
建立2D object新增大雁圖片Ctrl+6,儲存,把大雁動態模型全選,插入。調整時間可以看起來舒服,調整所在層為BackGround 1層
新增指令碼使大雁從螢幕右邊開始飛入左邊飛出
publicclassSwanFly : MonoBehaviour {
//天鵝起飛的位置
privateVector3 startPosition;
publicfloat speed;
// Use this for initialization
void Start () {
Debug.Log("螢幕的寬度" + Screen.width);
Debug.Log("螢幕的高度" + Screen.height);
Vector3 screenSize = Camera.main.ScreenToWorldPoint(newVector3(Screen.width, Screen.height, 0));
float swanExtentsX = transform.GetComponent<Renderer>().bounds.extents.x;
startPosition = newVector3(screenSize.x + transform.position.y, transform.position.z);
transform.position = startPosition;
}
// Update is called once per frame
void Update () {
if (transform.position.x <-startPosition.x)
{
transform.position = startPosition;
}
transform.Translate(Vector3.right * -1 * speed * Time.deltaTime);
}
}
調整草地
設定空物體,在其中建立草地,兩邊超過相機邊框。
在空物體上掛載BoxCollider2D元件,點選EditCollider 會有一個綠色方框調整位置
如圖所示即可
遊戲物件設定
設定球新增Front0層,掛載Circle Collider2D和Rigibody2D元件
建立一個2D空物體掛載指令碼,隨機產生球
publicclassCreatBall : MonoBehaviour {
//保齡球預製體
publicGameObject ballPrefab;
//產生的範圍
privatefloat createRange;
//產生的時間
publicfloat rate;
// Use this for initialization
void Start () {
Vector3 screenSize = Camera.main.ScreenToWorldPoint(newVector3(Screen.width, Screen.height, 0));
float ballExtentsX = ballPrefab.transform.GetComponent<Renderer>().bounds.extents.x;
createRange = screenSize.x -ballExtentsX;
}
// Update is called once per frame
void Update () {
rate -= Time.deltaTime;
if (rate<0)
{
Vector3 position = newVector3(Random.Range(-createRange, createRange),transform.position.y, transform.position.z);
GameObject ball = Instantiate(ballPrefab, position, Quaternion.identity) asGameObject;
//下一個保齡球產生的時間
rate = Random.Range(1.5f, 2.5f);
Destroy(ball, 3f);
}
}
}
除錯接物體的物體
建立兩個2D object分別新增帽子的內沿和外沿,外沿為內沿的子物體
內沿層Front 0層 外延層Front 1層
分別掛載Edge Collider 2D元件,內沿勾選Is Trigger,發生碰撞
設定Edit Collider
外沿 內沿
掛載指令碼接球然後銷燬產生粒子效果
publicclassHatController : MonoBehaviour {
//帽子移動的範圍
privatefloat HatMoveRange;
//粒子產生的位置
publicGameObject particleSystemPoint;
publicGameObject particle;
// Use this for initialization
void Start () {
Vector3 screenSize = Camera.main.ScreenToWorldPoint(newVector3(Screen.width, Screen.height, 0));
float hatExtentsX = transform.GetComponent<Renderer>().bounds.extents.x;
HatMoveRange = screenSize.x -hatExtentsX;
}
// Update is called once per frame
void Update () {
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
float x = Mathf.Clamp(mousePosition.x,-HatMoveRange, HatMoveRange);
transform.position = newVector3(x, transform.position.y, transform.position.z);
}
voidOnTriggerEnter2D(Collider2D col)
{
//粒子產生
GameObject tempParticle = Instantiate(particle,particleSystemPoint.transform.position, Quaternion.identity)asGameObject;
Destroy(col.gameObject);
Destroy(tempParticle, 2f);
}
}
設定粒子效果
設定預製體的Renderer中 Sorting Layer為Front 2層
離子產生的位置設定一個2D空物體成為帽子內沿的子物體,調整位置
相關文章
- 使用Unity製作遊戲AIUnity遊戲AI
- [Unity3D] 2D畫素遊戲(一) Hello Unity!Unity3D遊戲
- Unity遊戲積分/計分系統製作方法Unity遊戲
- 利用NEO與Unity製作遊戲(第3部分)Unity遊戲
- 我們跟Unity聊了聊,如何助力3A遊戲製作Unity遊戲
- 用unity製作簡單的太空遊戲(2)-簡單炮臺Unity遊戲
- unity入門—五分鐘製作一個理論上的遊戲Unity遊戲
- 小遊戲的製作遊戲
- 用Unity做半個2D戰棋小遊戲(四):加入玩家控制Unity遊戲
- Unity進階提升-2D遊戲跳躍手感最佳化(跳起下落)Unity遊戲
- 製作遊戲的遊戲:創作樂趣的樂趣遊戲
- 製作 2D 素材|基於 AI 5 天建立一個農場遊戲,第 4 天AI遊戲
- 遊戲雜談:大製作遊戲和小製作遊戲,在開發思路方式上的差別遊戲
- 用Unity做半個2D戰棋小遊戲(五):新增常用的介面Unity遊戲
- 《Unity 2D與3D手機遊戲開發實戰》簡介Unity3D遊戲開發
- Unity製作特寫鏡頭Unity
- Unity製作一個小星球Unity
- 如何低成本製作遊戲音效遊戲
- 2D Pixel Perfect:使用Unity建立任天堂紅白機風格復古遊戲Unity遊戲
- 用Unity做半個2D戰棋小遊戲(三):新增對戰雙方Unity遊戲
- 製作 oblique/cabinet 投影的 2D 遊戲時,確認精靈先後順序的排序方法遊戲排序
- 【Unity】(2D)物體拖拽Unity
- Toon Boom Harmony 21,2D動畫製作OOM動畫
- 從零點五開始用Unity做半個2D戰棋小遊戲(一)Unity遊戲
- Python製作太空射擊小遊戲!Python遊戲
- 遊戲角色寫實頭髮製作遊戲
- 如何用Python製作自己的遊戲Python遊戲
- 製作遊戲載入進度條遊戲
- Unity遊戲示例來了,用Unity開源遊戲資源做遊戲,遊戲開發不再難!Unity遊戲開發
- 巨人網路製作人聊遊戲長留: 提高遊戲長留是遊戲製作終極追求遊戲
- 底層搭建:踏入動作遊戲的製作階段遊戲
- 遊戲特效有哪些製作的分類遊戲特效
- Microsoft + Perforce:遊戲製作的全新構想ROS遊戲
- 微信吸粉小遊戲怎麼製作?中秋節微信公眾號吸粉小遊戲製作教程遊戲
- 《最終幻想7:重製版》遊戲音訊製作分享遊戲音訊
- 《心靈願望》技術總監:大幅縮短 2D 遊戲角色製作時間的自動化技術遊戲
- Unity首款遊戲《Gigaya》劃重點!創作團隊親述創作歷程Unity遊戲
- 遊戲音樂的認識與製作三遊戲
- 製作3D小汽車遊戲(上)3D遊戲