簡體   English   中英

我可以讓角色在 Unity 2D 中攜帶 object 嗎?

[英]Can I make a character carry an object in Unity 2D?

這可能是一個非常簡單的問題,但是在Unity 2D中是否可以讓角色攜帶一個object? 我可以讓 object 以與玩家相同的速度移動,我可以讓玩家 object 左右翻轉。 但是,當玩家移動到一側時,我希望玩家面對的 object 顯然不會隨之移動。 我找不到太多鏡像成像的代碼,所以我首先嘗試使用變換傳送角色。 position 命令如下:

if (stHorizontalInput > 0.01f)
        {
            float stHorizontalOutput1 = stHorizontalInput * spede * Time.deltaTime;
            float stVerticalOutput1 = stVerticalInput * spede * Time.deltaTime;
            while (stHorizontalOutput1  < 10f)
            {
                transform.position = transform.position + new Vector3(stHorizontalOutput1, stVerticalOutput1, 0);
            }
        }

然而,這實際上並沒有奏效。 起初,object 明顯移動,而且移動速度也很快,我認為一個簡單的 while 循環可以解決 object 移動得太遠太快的問題,並且比我需要的更遠,但是添加了一個 while 循環,如圖所示為了防止移動得太遠,object 根本不會移動。 我不能讓 object 和玩家成為一項資產,因為 object 需要有玩家不能擁有的特定 function。

仍在學習更多關於統一的知識,但我認為從腳本的角度來看,你應該能夠用這樣的東西將你的 object “附加”到你的角色。

GameObject specialObject;
GameObject Character;
void SomeFunction()
{
specialObject. transform. position 
= 
Character. transform. position;
}

您可以使用偏移量將其正確放置在手上。 可能需要 ifLeft == true 或其他東西來調整翻轉的偏移量。

本 Unity 學習指南討論了如何使用相機進行此操作。 https://learn.unity.com/tutorial/1-3-make-the-camera-follow-the-vehicle-with-variables

我想你可以在 2D 視圖中為你的角色和 object 做非常相似的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM