Erstens, ich bin neu in Unity und offensichtlich mache ich etwas falsch, aber ich weiß nicht was.Position für skalierte Sprites ist immer die gleiche - Unity (Was mache ich falsch?)
Schauen Sie sich das Bild unten an. Es gibt drei Bälle. Der größte ist die Originalgröße (importiert) und die anderen beiden sind skaliert.
Ich schrieb einen Code und gab diesen Kugeln eine lineare Kraft in Richtung der rechten Kante der Kamera. Die Kamera hat eine Größe von 10 (5 pro Weg). Wenn es die Kante erreicht, sollte es auf die linke Kamerakante zurückprallen. Es funktioniert, aber nur das Original springt zurück, wenn es die Kante erreicht (andere Bälle werden gleichzeitig geworfen, aber sie sollten nicht, weil sie nicht die Kante erreicht haben).
Alle Bälle haben die gleiche Position, aber zwei sind skaliert und werden von "der Luft reflektiert - überprüfen Sie das Bild").
-Code für Richtungswechsel in der Funktion aktualisieren. Es sieht so aus:
if (rigidBody.transform.position.x > 5)
{
rigidBody.AddForce(new Vector2(-60,0));
}
Ich schätze alle Hilfe.
Sie überprüfen jedoch nur die Position (die Position ist unabhängig von der Skala gleich), sodass sie sich an der gleichen Position bewegen. Ihr Zentrum ist an der gleichen Stelle. –
Das oben genannte. Sie müssen die Kante des Balls überprüfen (natürlich links und rechts). Oder Sie können dies ändern, um mit 'OnCollisionEnter' zu arbeiten und haben Collider am Rand des Bildschirms. –
Sie müssen alle wirklich grundlegenden Unity-Tutorials durcharbeiten – Fattie