国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity2d游戲項(xiàng)目--小狐貍

這篇具有很好參考價(jià)值的文章主要介紹了Unity2d游戲項(xiàng)目--小狐貍。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、素材處理

  1. 背景

(一)

在文件夾中找到back圖片,并在檢查器面板中將back圖片的每單位像素?cái)?shù)設(shè)置為16。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(文件所在地)

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(面板設(shè)置)

(二)

將圖片拖入到場景中

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔
  1. 場景素材

(一)

生成矩形的瓦片地圖

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(二)

打開平鋪調(diào)色板

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(三)

新建并命名為map,在原目錄新建一個(gè)文件夾,用于存放你在這個(gè)瓦片地圖里所使用的像素。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔
unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(四)

選中tileset-sliced,并在檢查器面板中將tileset-sliced圖片的每單位像素?cái)?shù)設(shè)置為16。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

若沒有切割好的tileset,選中tileset,并在檢查器中將Sprite模式更改為多個(gè)并點(diǎn)擊“Sprite Editor”,選擇自定義切片,將數(shù)值更改為每單位像素?cái)?shù)以方便你對(duì)每個(gè)像素的使用,最后點(diǎn)擊“應(yīng)用”確定。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(五)

將修改完成的tileset-sliced放到平鋪調(diào)色板中

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

二、圖層與角色建立

  1. 繪制場景

使用平鋪調(diào)色板繪制來搭建場景

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔
  1. 圖層管理

在檢查器中,選擇排序圖層添加標(biāo)簽“Background”“Fontground”.

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

越是下面的圖層,在場景中的顯示就越上。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

處于同一層的顯示,則按照圖層順序的大小,越大則越優(yōu)先顯示。這里我們把背景圖“back”的排序圖層設(shè)置為“Background”,圖層順序設(shè)置為“0”;繪制的場景“Tilemap”的排序圖層設(shè)置為“Background”,圖層順序設(shè)置為“1”,有需要可再做修改。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

3.人物建立

(一)

在空白處右鍵新建一個(gè)精靈,選擇正方形即可。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(二)

在下列途徑中找到player-idle

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

記得更改每單位像素值

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(三)

將player-idle-1拖入到sprite的組件Sprite Renderer中的精靈,并修改排序圖層為Frontground。然后將sprite重命名為Player,將位置重置,接下來就能在場景中看見小狐貍了。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

(四)

接下來要賦予Player重力以及碰撞,所以我們要給Player添加"Rigidbody 2D"組件和“Box Collider 2D”組件,再給我們繪制的地圖“Tilemap”添加碰撞組件“Tilemap Collider 2D”。嘗試運(yùn)行,發(fā)現(xiàn)小狐貍收到重力影響掉落在繪制的場景中。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔
unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

三、角色移動(dòng)

1.Player移動(dòng)腳本

新建腳本,命名為PlayerController,代碼如下,實(shí)現(xiàn)對(duì)象根據(jù)按鍵來進(jìn)行左右移動(dòng)。請?jiān)诳刂泼姘彐i定Player的rigbody2d組件的z軸。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayController : MonoBehaviour
{
    public Rigidbody2D rb;  //獲取對(duì)象剛體
    public float speed;  //設(shè)置對(duì)象移動(dòng)速度

    // Start is called before the first frame update
    void Start()
    {
        
    }

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

    void Movement()//角色移動(dòng)
    {
        float horizontalmove;
        horizontalmove = Input.GetAxis("Horizontal");

        if(horizontalmove != 0)
        {
            rb.velocity = new Vector2(horizontalmove * speed, rb.velocity.y);
        }
    }
}

(一)添加跳躍功能和對(duì)象轉(zhuǎn)向功能

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class PlayController : MonoBehaviour
{
    public Rigidbody2D rb;  //獲取對(duì)象剛體
    public float speed;  //設(shè)置對(duì)象移動(dòng)速度
    public float jumpforce;//設(shè)置跳躍獲得的縱向力

    // Start is called before the first frame update
    void Start()
    {
        
    }

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

    void Movement()//角色移動(dòng)
    {
        float horizontalmove = Input.GetAxis("Horizontal");
        float facedicetion = Input.GetAxisRaw("Horizontal");

        //如果orizontalmove為1則向左走,-1則向右走
        if (horizontalmove != 0)
        {
            rb.velocity = new Vector2(horizontalmove * speed * Time.deltaTime, rb.velocity.y);
        }

        //如果facedicetion為1則向左轉(zhuǎn),-1則向右轉(zhuǎn)
        if (facedicetion  != 0)
        {
            transform.localScale = new Vector3(facedicetion, 1, 1);
        }

        //如果按下跳躍鍵,對(duì)象獲得縱向力
        if (Input.GetButtonDown("Jump"))
        {
            rb.velocity = new Vector2(rb.velocity.x,jumpforce * Time.deltaTime);
        }
    }
}

四、角色動(dòng)畫

  1. 前置工作

給Player添加組件Animator。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

新建文件夾用于存放動(dòng)畫,并在對(duì)應(yīng)文件夾新建動(dòng)畫控制器(Animator Contorller)。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

把動(dòng)畫控制器“Player”拖到對(duì)象“Player”的Animator組件。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

打開動(dòng)畫

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

2.站立動(dòng)畫和跑動(dòng)動(dòng)畫

單擊對(duì)象“Player”,然后點(diǎn)擊動(dòng)畫創(chuàng)建,在如下圖所示找到對(duì)應(yīng)的圖片,放到Animation中,調(diào)整合適即可。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔
unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

3.站立動(dòng)畫與跑動(dòng)動(dòng)畫的轉(zhuǎn)換

打開如下窗口

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

在“run”與“idle”兩個(gè)動(dòng)畫之間創(chuàng)立過度

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

添加一個(gè)新參數(shù)“running”

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

選中“idle”到“run”的過渡關(guān)系,進(jìn)行如下調(diào)整:關(guān)閉退出時(shí)間,過渡持續(xù)時(shí)間為0,當(dāng)移動(dòng)速度大于0.1時(shí),動(dòng)畫過度為“run”。同理設(shè)置“run”到“idle”的過渡關(guān)系。

unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔
unity經(jīng)典案例小狐貍,unity,Powered by 金山文檔

編輯腳本PlayerController.cs,添加由按鍵判斷動(dòng)畫的功能。文章來源地址http://www.zghlxwxcb.cn/news/detail-775315.html

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class PlayController : MonoBehaviour
{
    public Rigidbody2D rb;  //獲取對(duì)象剛體
    public Animator anim;  //獲取對(duì)象動(dòng)畫組件
    public float speed;  //設(shè)置對(duì)象移動(dòng)速度
    public float jumpforce;//設(shè)置跳躍獲得的縱向力

    // Start is called before the first frame update
    void Start()
    {
        
    }

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

    void Movement()//角色移動(dòng)
    {
        float horizontalmove = Input.GetAxis("Horizontal");
        float facedicetion = Input.GetAxisRaw("Horizontal");

        //如果orizontalmove為1則向左走,-1則向右走
        if (horizontalmove != 0)
        {
            rb.velocity = new Vector2(horizontalmove * speed * Time.deltaTime, rb.velocity.y);
            anim.SetFloat("running", Mathf.Abs(horizontalmove));  //按左鍵時(shí),horizontalmove為負(fù)數(shù),動(dòng)畫由“run”轉(zhuǎn)變?yōu)椤癷dle”,故此處需要Mathf.Abs轉(zhuǎn)變?yōu)榻^對(duì)值
        }

        //如果facedicetion為1則向左轉(zhuǎn),-1則向右轉(zhuǎn)
        if (facedicetion  != 0)
        {
            transform.localScale = new Vector3(facedicetion, 1, 1);
        }

        //如果按下跳躍鍵,對(duì)象獲得縱向力
        if (Input.GetButtonDown("Jump"))
        {
            rb.velocity = new Vector2(rb.velocity.x,jumpforce * Time.deltaTime);
        }
    }
}

到了這里,關(guān)于Unity2d游戲項(xiàng)目--小狐貍的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【用unity實(shí)現(xiàn)100個(gè)游戲之15】開發(fā)一個(gè)類保衛(wèi)蘿卜的Unity2D塔防游戲1(附項(xiàng)目源碼)

    【用unity實(shí)現(xiàn)100個(gè)游戲之15】開發(fā)一個(gè)類保衛(wèi)蘿卜的Unity2D塔防游戲1(附項(xiàng)目源碼)

    當(dāng)今,塔防游戲已經(jīng)成為游戲市場上備受歡迎的一類游戲類型?!侗Pl(wèi)蘿卜》作為其中的經(jīng)典之作,深受玩家喜愛。本項(xiàng)目旨在基于《保衛(wèi)蘿卜》的玩法和特點(diǎn),開發(fā)一個(gè)Unity2D塔防游戲,讓玩家可以在游戲中體驗(yàn)到精彩的策略對(duì)抗與刺激的關(guān)卡挑戰(zhàn)。 本項(xiàng)目將通過Unity引擎進(jìn)

    2024年02月04日
    瀏覽(25)
  • 【用unity實(shí)現(xiàn)100個(gè)游戲之15】開發(fā)一個(gè)類保衛(wèi)蘿卜的Unity2D塔防游戲5(附項(xiàng)目源碼,完結(jié))

    【用unity實(shí)現(xiàn)100個(gè)游戲之15】開發(fā)一個(gè)類保衛(wèi)蘿卜的Unity2D塔防游戲5(附項(xiàng)目源碼,完結(jié))

    本期是本項(xiàng)目的最后一篇,主要內(nèi)容是配置環(huán)境、生成不同敵人、結(jié)束重開。 我用的環(huán)境素材 https://assetstore.unity.com/packages/2d/environments/2d-sugar-world-asset-pack-urp-256585

    2024年02月05日
    瀏覽(31)
  • Unity2D繪制游戲地圖

    Unity2D繪制游戲地圖

    首先,我們選擇我們的地圖素材(由于筆者在前段時(shí)間已經(jīng)進(jìn)行切割,最近才開始整理這一段,所以這個(gè)是用的老素材,可能有朋友就會(huì)覺得切割前后不一致,但是思路是一樣的,大家學(xué)習(xí)思路即可) ?接著,我們找到右上角的Slice進(jìn)行圖片切割,我這邊簡單介紹一下這個(gè)切

    2024年02月08日
    瀏覽(30)
  • unity2D橫版游戲教程8-音效

    unity2D橫版游戲教程8-音效

    簡單介紹一下unity audio,auido包括三個(gè)東西,分別是Aduio Listener,Audio Source,Audio Clips。Audio Listener就相當(dāng)于耳朵,是用來聽聲音的,Audio Source就相當(dāng)于播放器,一個(gè)音源,可以播放聲音,具體播放什么聲音就靠Audio Clips 通常Audio Listener只有一個(gè),默認(rèn)情況下Audio Listener就在Main

    2024年02月08日
    瀏覽(29)
  • 百人項(xiàng)目組unity2d游戲手機(jī)端發(fā)燙幀率低優(yōu)化從10幀優(yōu)化到60幀

    百人項(xiàng)目組unity2d游戲手機(jī)端發(fā)燙幀率低優(yōu)化從10幀優(yōu)化到60幀

    項(xiàng)目組排查及優(yōu)化: 1.http://zh.esotericsoftware.com/forum/Skeleton-Unity-16481 此外,請務(wù)必在實(shí)際設(shè)備上測試 Release 版本的性能,因?yàn)檎{(diào)試版本的性能可能會(huì)更差,而分析器會(huì)使事情變得更糟。 這里一定要去掉開發(fā)者模式,否則會(huì)掉個(gè)10~20幀左右(提升明顯) 2.檢查正常2d游戲drawcall

    2023年04月23日
    瀏覽(29)
  • Unity2D 商業(yè)游戲案例 - 夢幻西游(第二季 框架設(shè)計(jì)篇)

    Unity2D 商業(yè)游戲案例 - 夢幻西游(第二季 框架設(shè)計(jì)篇)

    01 Unity2D 回合制游戲案例 - 夢幻西游(第一季 戰(zhàn)斗邏輯篇) 01 Unity2D 回合制游戲案例 - 夢幻西游(第一季 戰(zhàn)斗邏輯篇)【B站的第一季的部分視頻】 02 Unity2D 商業(yè)游戲案例 - 夢幻西游(第二季 框架設(shè)計(jì)篇) 03 Unity2D 商業(yè)游戲案例《夢幻西游》(番外篇 - 場景系統(tǒng)) 。。。。。

    2024年02月05日
    瀏覽(78)
  • Unity2D Sprite尺寸與UI在場景視圖和游戲視圖顯示不一致問題解決方案

    在Unity3D中,當(dāng)開發(fā)2D游戲時(shí),經(jīng)常會(huì)遇到Sprite尺寸與UI在場景視圖和游戲視圖中顯示不一致的問題。這個(gè)問題可能導(dǎo)致UI元素變形或者在不同分辨率的設(shè)備上顯示不正確。本文將為您提供解決這個(gè)問題的方法,并附帶相應(yīng)的源代碼。 問題分析: Sprite是2D游戲中最常用的圖像資

    2024年02月05日
    瀏覽(112)
  • Unity2D學(xué)習(xí)筆記-Tilemap

    Unity2D學(xué)習(xí)筆記-Tilemap

    tilemap算是接觸了幾次,但是無論是看視頻還是看文章都一知半解,這次把編輯地圖的開始步驟搞清楚。 首先要知道tilemap是做什么的。 這里提到的Tilemap其實(shí)不止是Tilemap:Tilemap本身是地圖編輯器(雖然我更傾向于理解為“場景”,不過編輯地圖才是核心)。之前學(xué)的印象是,

    2023年04月09日
    瀏覽(26)
  • Unity2D實(shí)現(xiàn)子彈追蹤目標(biāo)

    Unity2D實(shí)現(xiàn)子彈追蹤目標(biāo)

    實(shí)現(xiàn)子彈追蹤目標(biāo)有很多種方法,首先是一開始就選定了目標(biāo)的位置,然后按照曲線運(yùn)動(dòng)軌跡的方式,持續(xù)運(yùn)動(dòng)到目標(biāo)點(diǎn),不過如果目標(biāo)移動(dòng)了,就得將對(duì)應(yīng)的軌跡重新計(jì)算一次,另外如果需要設(shè)置范圍的話更不好做。另一種是銳角追蹤,就是在目標(biāo)進(jìn)入識(shí)別范圍后,將子彈

    2024年02月06日
    瀏覽(28)
  • Unity2D控制角色左右移動(dòng)

    Unity2D控制角色左右移動(dòng)

    1.在Hierarchy一欄中選中角色; 2.在inspector欄最底端找到Add Component選項(xiàng)并點(diǎn)擊; 3.添加Rigidbody2D,合適的collider和new script; 4.將添加的Rigidbody2D拖到new script中; ? 5.在project欄中找到新添加的C#文件并雙擊打開(如果還沒有編輯代碼的工具,推薦Vscode) 6.代碼如下: using System.Nu

    2024年02月14日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包