2016-05-01 67 views
0

我想讓玩家在Unity中轉身,所以我必須將比例尺上的x軸更改爲減號,但玩家在這樣做時會消失! 這裏是我的代碼:玩家在改變x比例後消失

void Update() 
{ 
    anim.SetBool ("Grounded", grounded); 
    anim.SetFloat ("Speed", Mathf.Abs (Input.GetAxis ("Horizontal"))); 

    if (Input.GetAxis("Horizontal") < -0.1f) 
    { 
     transform.localScale = new Vector3(1, 1, 1); 
    } 

    if (Input.GetAxis("Horizontal") > 0.1f) 
    { 
     print ("going right"); 
    } 

也有是寫在盒子撞機每當玩家消失,它說一個消息「撞機不作任何碰撞形狀,它們都驗證失敗......」

玩家只有在向左或向右移動時才消失,這真的讓我難住,所以我會很感激任何幫助。

+0

如果有人看到這篇文章,它會非常有用,因爲我還沒有得到答案。 – user6210476

回答

2

你想設置比例的玩家不是位置。您將玩家的y和z比例設置爲零,這會縮小它們的不可見性。試試這個:

if (Input.GetAxis("Horizontal") < -0.1f) 
{ 
    transform.localScale = new Vector3(-1, 1, 1); 
} 
if (Input.GetAxis("Horizontal") > 0.1f) 
{ 
    transform.localScale = new Vector3(1, 1, 1); 
} 
+0

恐怕沒有用。 – user6210476

+0

如何?你能再解釋一下問題是什麼嗎?你在做什麼? –

+0

玩家反抗並不會很小,正如我在帖子結尾處所說的那樣,對話框會顯示一條消息,我不知道玩家怎麼了 – user6210476

0

我對此有幾條評論,但我會堅持這些並回答你的問題。

重要的是,當您檢查水平軸是否小於-0.1f時,您將比例設置爲(1,0,0)。這意味着y和z的比例是0,這使它消失。你已經使它在y軸和z軸上無限小。請記住,如果您將任何x的比例設置爲0,則該對象將不再可見。此外,x值的1不會改變角色出現面對的方式。但是,如果將其更改爲-1.0,則角色將顯示爲翻轉。

其次,但你可能知道這一點,並正在做這個測試,當測試水平軸是否大於0時,你所做的只是打印,而不會做任何事情。

0

你的問題表明你正在尋找改變球員的位置,但你實際上並沒有改變你的代碼。相反,你與該行改變對象的比例(我不知道爲什麼gjttt1 suggeted這是你想要在他的回答做什麼):

transform.localScale = new Vector3(1, 0, 0); 

我懷疑你想要的是更多的東西像這樣改變位置:

transform.position += new Vector3(1, 0, 0); 

這將增加矢量1,0,0您當前的位置矢量,

+0

感謝您試圖提供幫助,但這會讓玩家變得越來越薄,不會讓玩家轉身。 – user6210476

0

所以我設法解決它,事實證明我的精靈已經非常大,所以我必須讓精靈更小,所以反過來,這個精靈變得非常小......這麼小,以至於箱式對撞機無法檢測到它。所以我所要做的就是改變實際的精靈尺寸(資產中的精靈尺寸)。它從18000改爲18 ...