2015-05-04 169 views
0

我想在Unity中使用Box Collider功能,但似乎不推薦使用。更改Unity中不推薦使用的代碼塊(BoxCollider2D)

我得到的消息: "UnityEngine.BoxCollider2D.center" is obsolete. BoxCollider2D.center has been deprecated. Use BoxCollider2D.offset instead (UnityUpgradable)

我一直試圖在屏幕的邊緣設置城牆。下面是代碼:

//Move each wall to its edge location: 

topWall.size = new Vector2 (mainCam.ScreenToWorldPoint (new Vector3 (Screen.width * 2f, 0f, 0f)).x, 1f); 
topWall.center = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3 (0f, Screen.height, 0f)).y + 0.5f); 

bottomWall.size = new Vector2 (mainCam.ScreenToWorldPoint (new Vector3 (Screen.width * 2, 0f, 0f)).x, 1f); 
bottomWall.center = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3(0f, 0f, 0f)).y - 0.5f); 

leftWall.size = new Vector2(1f, mainCam.ScreenToWorldPoint(new Vector3(0f, Screen.height*2f, 0f)).y);; 
leftWall.center = new Vector2(mainCam.ScreenToWorldPoint(new Vector3(0f, 0f, 0f)).x - 0.5f, 0f); 

rightWall.size = new Vector2(1f, mainCam.ScreenToWorldPoint(new Vector3(0f, Screen.height*2f, 0f)).y); 
rightWall.center = new Vector2(mainCam.ScreenToWorldPoint(new Vector3(Screen.width, 0f, 0f)).x + 0.5f, 0f); 
//Move the players to a fixed distance from the edges of the screen: 
Player01.position.x = mainCam.ScreenToWorldPoint (new Vector3 (75f, 0f, 0f)).x; 
Player02.position.x = mainCam.ScreenToWorldPoint (new Vector3 (Screen.width -75f, 0f, 0f)).x; 

TopWallBottomWallLeftWallRightWall當然都是BoxCollider2D類型。

我該如何更改我的代碼才能得到此錯誤消息?感謝您的幫助。

回答

1

「BoxCollider2D.center已被棄用使用BoxCollider2D.offset來代替。」

替換:

topWall.center = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3 (0f, Screen.height, 0f)).y + 0.5f); 

有了:

topWall.offset = new Vector2 (0f, mainCam.ScreenToWorldPoint (new Vector3 (0f, Screen.height, 0f)).y + 0.5f); 

當然,這樣做改變BottomWall,LeftWall和RightWall也是。

相關問題