2D游戲場景

創(chuàng)建2D游戲工程惦界,和場景

  • 創(chuàng)建2D工程


  • 創(chuàng)建2D場景(場景會保存在Asset目錄下面)


創(chuàng)建工作層

  • 為了使游戲?qū)ο笤趫鼍爸氐膶哟尾粫e亂,可以創(chuàng)建不同的工作層來管理游戲?qū)ο罅摺亩褂螒蛴螒驁鼍暗膶哟胃臃置髡赐幔皖愃芇S里面的圖層的概念。

  • 調(diào)出工作層面板


  • 這里我們創(chuàng)建兩個工作層雾消,一個是背景工作層灾搏,一個是前景工作層



添加靜態(tài)的物體

  • 導(dǎo)入靜態(tài)資源


    • 稍后會把資源傳到網(wǎng)盤上面去

    資源地址 先占位

    • 這里啰嗦一下Unity支持的資源導(dǎo)入的方式主要有,直接將資源復(fù)制到文件的目錄下面去立润,將資源拖動到Project視圖中的Asset文件夾中狂窑,通過Assets -> Import New Asset進行導(dǎo)入
  • 創(chuàng)建游戲的天空背景(就是創(chuàng)建一個精靈)


  • 精靈各項屬性的意思


    • Sprite 圖片信息
    • Color 顏色信息
    • Material 材質(zhì)信息
    • Sorting Layer 分類層,層級越靠前優(yōu)先級越高范删,相同情況后被渲染
    • Order in Layer 層中的順序蕾域,數(shù)值越大優(yōu)先級越高相同情況后被渲染
  • 修改精靈的屬性


  • 創(chuàng)建游戲的草地精靈(小技巧,拖動資源到Hierachy面板可以直接創(chuàng)建精靈)


    • 草地的層應(yīng)該和天空的層一樣到旦,渲染順序要比天空要大
  • 多復(fù)制(選中 Ctrl + D)幾個草地旨巷,調(diào)整位置放到層的下面

  • 調(diào)整相機的Size位置


添加角色和控制

  • 創(chuàng)建Sprite動畫(將一張多紋理圖切成多個Sprite)

  • 選擇一個多紋理圖,切割~~


  • 切割完成


  • 制作動畫(創(chuàng)建一個Sprite添忘,并把動畫的第一幀給這個Sprite)


  • 創(chuàng)建一個文件夾用來保存動畫


  • 給剛才創(chuàng)建的那個Sprite創(chuàng)建一個動畫




    用Sprite的變化作為動畫幀

    不斷的添加關(guān)鍵幀
  • 創(chuàng)建一個文件夾(Scripts)用來存放腳本(C#)


  • 創(chuàng)建一個腳本(SwanMove)


  • 雙擊腳本并寫代碼(VS 果然是宇宙最強ide)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SwanMove : MonoBehaviour {

    private float moveSpeed = 4;//移動的速度

    // Use this for initialization
    void Start () {
        //設(shè)置初始位置
        transform.position = new Vector3(22,3,0);
    }
    
    // Update is called once per frame
    void Update () {
        if (transform.position.x > -22)
        {
            //移動
            transform.Translate(Vector3.right * -moveSpeed * Time.deltaTime);
        }
        else {
            transform.position = new Vector3(22, 3, 0);
        }
    }
}
  • 將腳本設(shè)置給Sprite(直接將腳本拖動到Sprite上面就行)



創(chuàng)建主要的游戲?qū)ο?/h3>
  • 創(chuàng)建Sprite 都為前景層采呐,只是Order in Layout不同


  • 調(diào)整位置


  • 創(chuàng)建保齡球Sprite

  • 為保齡球添加剛體


  • 添加一個圓形的碰撞體(2D碰撞體)


  • 將保齡球做成預(yù)設(shè)體(就是方便多次使用)

  • 創(chuàng)建一個Asset文件夾取名 Prefabs


    直接拖過來
  • 創(chuàng)建一個空對象來控制保齡球的水平高度


  • 創(chuàng)建一個腳本來控制保齡球的實例化 使保齡球從天上一個一個的落下


public class GameController : MonoBehaviour {

    public GameObject ball;//保齡球
    private float maxWidth;
    private float time = 2;
    private GameObject newball;

    // Use this for initialization
    void Start () {
        //將屏幕的寬度轉(zhuǎn)換成世界坐標
        Vector3 screenPos = new Vector3(Screen.width, 0, 0);
        Vector3 moveWidth = Camera.main.ScreenToWorldPoint(screenPos);

        //獲取保齡球自身的寬度
        float ballWidth = ball.GetComponent<Renderer>().bounds.extents.x;

        //計算保齡球?qū)嵗恢玫膶挾?        maxWidth = moveWidth.x - ballWidth;
    }
    
    // Update is called once per frame
    void Update () {
        
    }

    private void FixedUpdate()
    {
        time -= Time.deltaTime;
        if (time < 0) {
            time = Random.Range(1.5f, 2.0f);
            float posX = Random.Range(-maxWidth, maxWidth);
            Vector3 spawnPosition = new Vector3(posX,transform.position.y,0);
            newball = Instantiate(ball, spawnPosition, Quaternion.identity);
            Destroy(newball, 10);
        }
    }
}
  • 將這個腳本放置到創(chuàng)建的空對象上面去并設(shè)置屬性的初始值


  • 創(chuàng)建一個腳本控制帽子的移動

public class HatController : MonoBehaviour {

    private Vector3 rawPosition;
    private Vector3 hatPosition;
    private float maxWidth;
    // Use this for initialization
    void Start () {
        Vector3 screenPos = new Vector3(Screen.width,0,0);
        Vector3 moveWidth = Camera.main.ScreenToWorldPoint(screenPos);

        float hatW = GetComponent<Renderer>().bounds.extents.x;
        hatPosition = transform.position;
        maxWidth = moveWidth.x - hatW;

    }
    
    // Update is called once per frame
    void Update () {
        
    }

    private void FixedUpdate()
    {
        rawPosition = Camera.main.ScreenToViewportPoint(Input.mousePosition);
        hatPosition = new Vector3(rawPosition.x, hatPosition.y, 0);
        hatPosition.x = Mathf.Clamp(hatPosition.x, -maxWidth, maxWidth);
        GetComponent<Rigidbody2D>().MovePosition(hatPosition);
    }
}

創(chuàng)建2D阻擋物

  • 主要是給地面添加一個box的剛體



添加2D效果

  • 導(dǎo)入資源包
  • 添加粒子效果

Nothing is certain in this life. The only thing i know for sure is that. I love you and my life. That is the only thing i know. have a good day

:)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市搁骑,隨后出現(xiàn)的幾起案子斧吐,更是在濱河造成了極大的恐慌,老刑警劉巖仲器,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煤率,死亡現(xiàn)場離奇詭異,居然都是意外死亡乏冀,警方通過查閱死者的電腦和手機蝶糯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辆沦,“玉大人昼捍,你說我怎么就攤上這事识虚。” “怎么了妒茬?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵担锤,是天一觀的道長。 經(jīng)常有香客問我乍钻,道長肛循,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任团赁,我火速辦了婚禮育拨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘欢摄。我一直安慰自己熬丧,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布怀挠。 她就那樣靜靜地躺著析蝴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绿淋。 梳的紋絲不亂的頭發(fā)上闷畸,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音吞滞,去河邊找鬼佑菩。 笑死,一個胖子當著我的面吹牛裁赠,可吹牛的內(nèi)容都是我干的殿漠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼佩捞,長吁一口氣:“原來是場噩夢啊……” “哼绞幌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起一忱,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤莲蜘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后帘营,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體票渠,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年芬迄,在試婚紗的時候發(fā)現(xiàn)自己被綠了庄新。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡薯鼠,死狀恐怖择诈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情出皇,我是刑警寧澤羞芍,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站郊艘,受9級特大地震影響荷科,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜纱注,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一畏浆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧狞贱,春花似錦刻获、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至氧枣,卻和暖如春沐兵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背便监。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工扎谎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烧董。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓毁靶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親解藻。 傳聞我的和親對象是個殘疾皇子老充,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容