在我的 Unity2D 專案中,我有一個玩家的“玩家”和一個“武器”孩子。我已經設定了一些玩家的移動和面向影片,并想對武器做同樣的事情。我也做了武器的影片,但是當我運行時,劍和玩家的運動都正常作業。但是當我松開鑰匙時,我看到玩家停止了,劍也停止了,但劍也停止了,但稍微旋轉了。
看這張圖片:-

這不是我想要的!我讓劍在我松開鑰匙時會停在一個位置并旋轉,但它不起作用。
這是playermovements(來自更新功能)的代碼
void Update()
{
float horizontalInput = Input.GetAxis("Horizontal");
float verticalInput = Input.GetAxis("Vertical");
rb.velocity = new Vector2(horizontalInput * moveSpeed, verticalInput * moveSpeed);
if (horizontalInput > 0.5f || horizontalInput < -0.5f)
{
isMoving = true;
lastMove = new Vector2(horizontalInput, 0f);
}
else if (verticalInput > 0.5f || verticalInput < -0.5f)
{
isMoving = true;
lastMove = new Vector2(0f, verticalInput);
}
else
{
isMoving = false;
rb.velocity = new Vector2(0, 0);
}
animator.SetFloat("moveX", horizontalInput);
animator.SetFloat("moveY", verticalInput);
animator.SetBool("isMoving", isMoving);
animator.SetFloat("lastMoveX", lastMove.x);
animator.SetFloat("lastMoveY", lastMove.y);
}
我認為lastMoveXand有問題lastMoveY。它適用于玩家,但不適用于劍。我希望劍也處于我在animation. 請幫我解決。
謝謝!
uj5u.com熱心網友回復:
是否一直在平穩旋轉?如果是,你做錯了一些事情,但你不知道。我的意思是您可能撰寫了另一個用于旋轉的腳本,并且您不小心將其分配給了玩家武器。
另一件事是:您是否通過影片控制縮放?問題可能來自縮放。
另一件事是:您可能不小心將另一個影片師分配給了播放器中的另一個物件。當你在編輯東西時,影片師正在記錄你所做的一切。
希望它有幫助。
uj5u.com熱心網友回復:
我找到了自己的答案。正如我告訴這是一個問題lastMove.x和lastMove.y。我剛剛添加了幾行代碼,現在可以使用了!
animator.SetFloat("moveX", horizontalInput);
animator.SetFloat("moveY", verticalInput);
animator.SetBool("isMoving", isMoving);
if(lastMove.x < 0)
{
lastMove.x = -1;
}
else if(lastMove.x > 0)
{
lastMove.x = 1;
}
if(lastMove.y < 0)
{
lastMove.y = -1;
}
else if(lastMove.y > 0)
{
lastMove.y = 1;
}
animator.SetFloat("lastMoveX", lastMove.x);
animator.SetFloat("lastMoveY", lastMove.y);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/366559.html
上一篇:有沒有其他方法可以做到這一點?
