2016-03-29 2 views
1

Итак, я сделал простую 2D-настройку, где вы можете перемещать блок. Но я не могу полностью привязаться к другому спрайту (стене).Удалите пространство между объектами

Скриншот: enter image description here

инспектор настройки стены:

enter image description here

инспектор настройки игрок:

enter image description here

PlayerMovement Сценарий:

using UnityEngine; 
using System.Collections; 

public class PlayerMovement : MonoBehaviour { 

    public KeyCode moveUp; 
    public KeyCode moveDown; 
    public KeyCode moveLeft; 
    public KeyCode moveRight; 

    public float speed = 10f; 

    // Use this for initialization 
    void Start() { 

    } 

    // Update is called once per frame 
    void FixedUpdate() { 

     Vector2 v = rigidbody2D.velocity; 

     if (Input.GetKey (moveUp)) { 
      v.y = speed; 
      v.x = 0; 
      rigidbody2D.velocity = v; 
     } else if (Input.GetKey (moveDown)) { 
      v.y = speed * -1; 
      v.x = 0; 
      rigidbody2D.velocity = v; 
     } else if (Input.GetKey (moveRight)) { 
      v.x = speed; 
      v.y = 0; 
      rigidbody2D.velocity = v; 
     } else if (Input.GetKey (moveLeft)) { 
      v.x = speed * -1; 
      v.y = 0; 
      rigidbody2D.velocity = v; 
     } 
     else 
     { 
      v.x = 0; 
      v.y = 0; 
      rigidbody2D.velocity = v; 
     } 
    } 
} 

Я понятия не имею, что может создать это пространство, потому что это моя первая игра единства.

ответ

0

Я почти уверен, что это потому, что ваш спрайт имеет эту пустую границу. Чтобы исправить это, убедитесь, что спрайт «игрока» полностью заполнен белыми пикселями или/или вашим «стеновым» спрайтом. В основном дважды проверьте изображения.

Также, чтобы исправить это, вы можете просто сделать коллайдер немного меньше, чтобы соответствовать границам изображения.

И, наконец, убедитесь, что коллайдер соответствует пикселам, которые вы считаете телом.

+0

Я дважды проверял, и я не мог найти пустое место. Это мои файлы: https://onedrive.live.com/redir?resid=451ADC2A2ED2D0E7!108&authkey=!AAimm1ss1vE_ZfA&v=3&ithint=photo%2cpng, https://onedrive.live.com/redir?resid=451ADC2A2ED2D0E7!109&authkey= ! AAxqJwKjBiS2n8A & v = 3 & ithint = photo% 2cpng – Gewoo

+0

Я вижу, тогда я был неправ. Но вы все равно можете играть с коллайдерами. Но дайте мне знать, если это не вариант для вас. У меня нет большого опыта в объединении2d, но я думаю, что решение находится в настройках проекта в Physics 2D. С учетом сказанного попытайтесь сыграть с пенальти пенетрации и другими настройками. –

+0

Мне очень жаль, но изменение коллайдеров для меня не является выбором: / – Gewoo

Смежные вопросы