2016-03-29 4 views
1

Also habe ich eine einfache 2D-Einstellung, wo Sie einen Block verschieben können. Aber ich kann nicht komplett zu einem anderen Sprite (Wand) schnappen.Entfernen Sie Platz zwischen Objekten

Screenshot: enter image description here

Inspector-Einstellungen Wand:

enter image description here

Inspector-Einstellungen Spieler:

enter image description here

PlayerMovement Script:

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; 
     } 
    } 
} 

Ich habe keine Ahnung, was diesen Raum schaffen kann, weil das meine erste Einheit Spiel.

Antwort

0

Ich bin mir fast sicher, dass dein Sprite diesen leeren Rand hat. Um dies zu beheben, stellen Sie sicher, dass das "Player" -Sprite vollständig mit weißen Pixeln oder/und Ihrem "Wall" -Sprite gefüllt ist. Überprüfen Sie die Bilder grundsätzlich doppelt.

Auch um dies zu beheben, könnten Sie den Collider einfach etwas kleiner machen, um ihn an die Bildgrenzen anzupassen.

Und schließlich sicherstellen, dass Collider mit Pixeln entspricht, die Sie als Körper betrachten.

+0

Ich überprüft doppelt und ich konnte keinen leeren Platz finden. Dies sind meine Dateien: 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 = Foto% 2cpng – Gewoo

+0

Ich sehe, dann lag ich falsch. Aber Sie können immer noch mit Colliders spielen. Aber lassen Sie mich wissen, ob das für Sie keine Option ist. Ich habe keine große Erfahrung in unity2d, aber ich denke, die Lösung ist in den Projekteinstellungen unter Physik 2D. Versuchen Sie, mit Penetration Penalty und anderen Einstellungen zu spielen. –

+0

Es tut mir leid, Mann, aber die Colliders zu wechseln ist keine Option für mich: / – Gewoo