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

Unity——2D小游戲筆記整理

這篇具有很好參考價值的文章主要介紹了Unity——2D小游戲筆記整理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【每日一句:清晨和夜晚都請用盡全力去生活】

目錄

一、環(huán)境搭建

二、人物

三、相機跟隨人物移動

四、平鋪精靈

五、血條跟隨敵人行走

六、腳本邏輯

【玩家行走方法】

【玩家跳躍方法】

【改變玩家血量值方法】

【創(chuàng)建玩家子彈方法】

【主角血量,改變血條遮罩】

【敵人(減血物體)觸發(fā)檢測,調用玩家改變血量值方法ChangeHealth(int amount)】

【敵人來回移動代碼】

【改變敵人血量方法EnemyChangeHealth() 引用敵人血量腳本EnemyHealth EnemySetValue(currentHealth / (float)maxHealth);】


一、環(huán)境搭建

1.瓦片地圖Tilemaps

創(chuàng)建 2DObject——>Tilemap——>Rectangular

?????? ?Window——>2D——>Tile Palette

瓦片集 Sprite Mode從Single改為Multiple

???????????? Pixel Per Unit值從100更改為64

2.添加瓦片地圖碰撞:Tilemap Collider2D組件

選擇的瓦片不再被視為碰撞體:在Inspector找到Collider Type屬性,Sprite更改為None

優(yōu)化瓦片地圖碰撞體Composite Collider2D組件,會自動添加Rigidbody2D,在Tilemap Collider2D,啟用Used By Composite

在Rigidbody2D,將Rigidbody Body Type屬性設為Static

二、人物

動畫

Right_Run——>Left_Run

單擊Add Property,然后單擊Sprite Render旁邊的三角形,再單擊Flip X旁邊的+圖標

使用混合樹:

Unity——2D小游戲筆記整理

【待完善……】

Unity——2D小游戲筆記整理

【上下左右移動】

三、相機跟隨人物移動

使用Cinemachine包

Window——>PackageManager——>Cinemachine

使用GameObject——>Cinemachine——>Virtual Camera

Cinemachine Virtual Camera組件

調整Orthgraphic Size(攝像機的一半高度內可容納多少個單位);Follow 跟隨主角

四、平鋪精靈

1.首先確保游戲對象的縮放在Transform組件1:1:1

2.在SpriteRender組件中將Draw Mode設為Tiled,Tile Mode改為Adaptive

精靈的Inspector面板,Mesh Type改為Full Rect

五、血條跟隨敵人行走

public class FollowBlood : MonoBehaviour

{

??? public Transform player;

??? public Image hp;

??? public? Camera cam;

??? void Update()

??? {

??????? //把人物的坐標轉化到屏幕坐標

??????? var playerScreenPos = cam.WorldToScreenPoint(player.position);

??????? //再把人物坐標Y加一個高度給到人物

??????? hp.rectTransform.position = new Vector2(playerScreenPos.x, playerScreenPos.y + 35f);

??? }文章來源地址http://www.zghlxwxcb.cn/news/detail-485228.html

???

}

六、腳本邏輯

Unity——2D小游戲筆記整理

【玩家行走方法】

void Movement()

??? {

??????? float horizontal = Input.GetAxisRaw("Horizontal");

??????? rb.velocity = new Vector2(horizontal * speed, rb.velocity.y);

??????? Vector2 move = new Vector2(horizontal, 0);

??????? if (horizontal != 0)

??????? {

??????????? //lookDir.Set(move.x, 0);

??????????? lookDir.Normalize();

??????????? ani.SetBool("IsSpeed",true);

??????? }

??????? else? if(horizontal == 0)

??????? {

??????????? ani.SetBool("IsSpeed", false);

??????? }

??????? //Debug.Log(horizontal);

??????? if (horizontal > 0)

? ??????{

??????????? ani.SetFloat("LookX", 1);

??????? }

??????? else if (horizontal < 0)

??????? {

??????????? ani.SetFloat("LookX", 0f);

??????? }

??????

}

【玩家跳躍方法】

void Jump()

??? {

??????? if (isGround)

??????? {

??????????? jumpCount = 2;

??????? }

??????? if (isJump && isGround)

??????? {

??????????? rb.velocity = new Vector2(rb.velocity.x, jumpForce);

??????????? //jumpForce--;

??????????? isJump = false;

??????? }

??????? else if (isJump && !isGround && jumpCount > 0)

??????? {

???????? ???rb.velocity = new Vector2(rb.velocity.x, jumpForce);

??????????? jumpCount--;

??????????? isJump = false;

??????? }

【改變玩家血量值方法】

public void ChangeHealth(int amount)

??? {

??????? if (amount < 0)

??????? {

??????????? if (isInvincible)

??????????????? return;

??????????? isInvincible = true;

??????????? invincibleTimer = timerInvincible;

??????? }

??????? currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);

??????? UIHealth.instance.SetValue(currentHealth / (float)maxHealth);

??????? Debug.Log(currentHealth + "/" + maxHealth);

??? }

【創(chuàng)建玩家子彈方法】

void CreatBullet()

??? {

??????? GameObject bul = Instantiate(bullet, rb.position + Vector2.right * 0.5f,Quaternion.identity) as GameObject;

??????? Projectile proj = bul.GetComponent<Projectile>();

??????? proj.Launch(300);

??? }

—————————————————————————————————————————

【主角血量,改變血條遮罩】

public class UIHealth : MonoBehaviour

{

??? public static UIHealth instance

??? {

??????? get;private set;

??? }

??? public Image mask;

??? float originalSize;

??? private void Awake()

??? {

??????? instance = this;

??? }

??? // Start is called before the first frame update

??? void Start()

??? {

??????? originalSize = mask.rectTransform.rect.width;

??? }

??? public void SetValue(float value)

??? {

??????? mask.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, originalSize * value);

??? }

}

【敵人(減血物體)觸發(fā)檢測,調用玩家改變血量值方法ChangeHealth(int amount)】

private void OnTriggerStay2D(Collider2D collision)

??? {

??????? PlayerController controller = collision.GetComponent<PlayerController>();

??????? if (controller != null)

??????? {

??????????? controller.ChangeHealth(-1);

??????? }

??? }

【敵人來回移動代碼】

void Update()

??? {

??????? timer -= Time.deltaTime;

??????? if (timer < 0)

??????? {

??????????? direction = -direction;

??????????? timer = changeTime;

??????? }

??????? if (direction == 1)

??????? {

??????????? ani.SetBool("isLeft", true);

??????? }

??????? else

??????? {

??????????? ani.SetBool("isLeft", false);

??????? }

}

private void FixedUpdate()

??? {

??????? Vector2 position = rb.position;

??????? if (vertical)

??????? {

??????????? position.y = position.y + Time.deltaTime * speed * direction;

??????? }

??????? else

??????? {

??????????? position.x = position.x + Time.deltaTime * speed * direction;

??????? }

??????? rb.MovePosition(position);

??? }

【改變敵人血量方法EnemyChangeHealth() 引用敵人血量腳本EnemyHealth EnemySetValue(currentHealth / (float)maxHealth);】

public void EnemyChangeHealth(int amount)

??? {

??????

??????? currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);

??????? Debug.Log("敵人當前血量+" + currentHealth + amount);

??????? eh.EnemySetValue(currentHealth / (float)maxHealth);

??????? Debug.Log(currentHealth + "/" + maxHealth);

??? }

到了這里,關于Unity——2D小游戲筆記整理的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【Unity小游戲】游戲開發(fā)案例-Unity打造暢玩無阻的小游戲(上)

    【Unity小游戲】游戲開發(fā)案例-Unity打造暢玩無阻的小游戲(上)

    乒乓克隆 使用立方體建造競技場、球拍和球。 移動球和球拍。 擊球并得分。 讓相機感受到沖擊力。 給游戲一個抽象的霓虹燈外觀。 這是有關基礎游戲的系列教程中的第一個教程。在其中,我們將創(chuàng)建一個簡單的 Pong 克隆。 本教程是使用 Unity 2021.3.16f1 制作的。 本系列將涵

    2024年02月13日
    瀏覽(27)
  • 【Unity小游戲】《捕魚達人》小游戲來啦~ 有源碼下載【文末送書】

    ??博客主頁:https://blog.csdn.net/zhangay1998 ??歡迎點贊 ?? 收藏 ?留言 ?? 如有錯誤敬請指正! ??本文由 呆呆敲代碼的小Y 原創(chuàng),首發(fā)于 CSDN ?? ??未來很長,值得我們全力奔赴更美好的生活?

    2023年04月08日
    瀏覽(58)
  • Unity小游戲——迷你拼圖

    拼圖演示 資源:? 鏈接:https://pan.baidu.com/s/1BGeSmRCO_WZRUyl3MxefGw? 提取碼:0n4a 排列拼圖碎片,拼出最后的圖案??梢渣c住碎片的任意位置拖動;點擊\\\"重來\\\"按鈕,可以回到最初狀態(tài)重新開始。 有很多電腦游戲的原型來自于現(xiàn)實世界中的玩具,拼圖游戲就是其中的一個代表。 本

    2024年02月14日
    瀏覽(22)
  • Unity - 微信小游戲

    Unity - 微信小游戲

    總參考:Unity WebGL 微信小游戲適配方案(公測) ? 下載?Unity插件,并導入至游戲項目中,版本更新請查看更新日志 請查閱推薦引擎版本,安裝時選擇 WebGL 組件 最終選擇 Unity2021.2.5f1c1 InstantGame 前往Node官網安裝長期穩(wěn)定版 之前已安裝 v16.17.0 前往微信開發(fā)者工具下載安裝 Stable

    2024年02月06日
    瀏覽(55)
  • unity小球吃金幣小游戲

    unity小球吃金幣小游戲

    鏈接放在這里 unity小球吃金幣小游戲-Unity3D文檔類資源-CSDN下載 這是我在學完虛擬現(xiàn)實技術這門課程后利用unity所做的小球吃金幣小游戲,里面有源碼和作品源文件,用u更多下載資源、學習資料請訪問CSDN下載頻道. https://download.csdn.net/download/m0_57324918/85604051 1創(chuàng)建Roll A Ball小球吃

    2023年04月08日
    瀏覽(23)
  • 【Unity】小球吃方磚小游戲

    【Unity】小球吃方磚小游戲

    目錄 游戲背景 游戲開發(fā) ????????2.1場景布置 ????????2.2小球運動 ????????2.3鏡頭跟蹤 ????????2.4吃掉方磚 ? ? ? ? 2.5結束提示 游戲錄制 ? ? ? ? ? 用wasd(↑←↓→)操控小球進行平面滑動,小球觸碰會原地打轉的立方體后立方體會消失,消除5個小球后提示

    2024年02月09日
    瀏覽(18)
  • Unity 開發(fā)微信小游戲

    Unity 開發(fā)微信小游戲

    今天給大家分享一下我近期用Unity開發(fā)微信小游戲的經過和踩坑; 微信小游戲就是微信小程序,小游戲是小程序的一個子集,小游戲是一種特殊的小程序;這篇文章建議大家收藏,干貨滿滿 Unity開發(fā)微信小程序 Unity 3D下載官網 Unity轉化小程序的Package包下載地址 微信開發(fā)者工

    2024年02月09日
    瀏覽(27)
  • 【抖音小游戲】 Unity制作抖音小游戲方案 最新完整詳細教程來襲【持續(xù)更新】
  • unity開發(fā)微信小游戲1

    unity開發(fā)微信小游戲1

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 最開使用unity3d開發(fā)微信小游戲,遇到了一些問題,記錄一下, 同時創(chuàng)建了一個交流群 QQ 641029627,現(xiàn)在應該沒人,有需要的可以加入一起討論,廣告哥遠離 提示:以下是本篇文章正文內容,下面案例可

    2023年04月08日
    瀏覽(36)
  • 現(xiàn)有Unity轉微信小游戲

    現(xiàn)有Unity轉微信小游戲

    關于微信小游戲開發(fā)的內容在《Unity WebGL 微信小游戲適配方案》中有詳細,這里會忽略大部分更深入的細節(jié),大家可以自行在下面的地址中找到答案。 此篇文章的目的是帶著大家快速的把自己已有的游戲轉成微信小游戲。 《Unity WebGL 微信小游戲適配方案》地址: https://gith

    2023年04月08日
    瀏覽(33)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包