Das Kreieren eines Arkanoid / Breakout-Paddles

in games •  5 years ago 


Dieser Beitrag beschäftigt sich mit dem Erschaffen eines Arkanoid bzw. Breakout-Paddles, der größenveränderlich ist.


Das Kreieren eines Arkanoid / Breakout-Schlägers

Paddle

Kreiere im Hierarchiefenster in mit "Create Empty" ein leeres GameObject, dass du als DynamicPaddle bezeichnest.

Erschaffe im Projektfenster ein C#-Skript, dass du als Paddle bezeichnest.

Füge es zum Dynamic Paddle hinzu. Öffne das Fenster im Scripteditor. Standardmäßig ist dies Visual Studio.

Die Zielsetzung ist folgendes Script:

Fertiges Paddle Script

public class Paddle : MonoBehaviour sagt aus, dass jeder darauf zugreifen kann.

{ <--Die Anweisung beginnt

float <-- Kennzeichnet Zahlen

minSizes und maxSize <-- legen Minimumgröße und Maximalgröße des Schlägers fest

resizeSpeed <--Geschwindigkeit, mit welcher der Schläger seine Größe verändert

positionY <-- Position des Paddle

SpriteRenderer <--Sorgt dafür, dass du das Paddle siehst. Den Sprite Renderer fügst du über Unity unter AddComponent hinzu. Sprite ist das zugehörige Sprite.

public --> wichtig für Unity - Camera --> Datentyp -->Variablenname über den die Kamera verfügbar ist

myCamera --> steht für eine beliebig ausgewählte Kamera

 

void Start () --> Unterprogramm, das aufgerufen wird, wenn das Objekt erstellt wird, welches das Script erstellt - Unterprogramm beginnt

void Update() --> Unterprogramm wird in jedem Frame aufgerufen

 

Cursor.visible = false <-- Cursor wird unsichtbar

sprite = GetComponent<SpriteRenderer>(); <-- Das Programm holt sich den SpriteRenderer aus dem Inspectorfenster in Unity bzw. vom Objekt heraus, um das Sprite darzustellen, also wird auf die Komponente vom Objekt zurückgegriffen

sprite.size = new Vector2(7.5f, sprite.size.y);

sprite.size <--Größe des Sprite

new Vector2(7.5f, sprite.size.y); <-- neuer Vektor, der sich aus dem x- und dem y-Wert zusammensetzt - Der x-Wert ist die Ausgangsgröße und die y-Größe wird beibehalten

positionY = -myCamera.orthographicSize + (sprite.size.y * 0.5f);

positionY = Position des Paddles auf der Y-Achse

-myCamera.orthographicSize <--Verweis auf die Kamera und die Größe der Kamera

Da sich der Ursprung unseres Spiels im Mittelpunkt der Kamera befindet, müssen wir bei der Berechnung der Y-Position die Hälfte der Kameragröße subtrahieren (nun würde sich das Paddle an der unteren Kante des Bildschirms befinden) und addieren die Höhe des Paddles hinzu.

float sizeX = sprite.size.x; <-- Die Größe von Paddle und Sprite Size sind identisch

sizeX += Input.GetAxisRaw("Mouse ScrollWheel") * resizeSpeed; <--Die Größe X definiert sich aus x = x+1 und wird vom Mausrad in der Größe beeinflusst, welche mit der Geschwindigkeit multipliziert wird, mit der das Paddle die Größe verändert

sizeX = Mathf.Clamp (sizeX, minSize, maxSize);

Die Größe X ist mit der Größe X zwischen dem kleinsten und dem größten Wert festgeschrieben. Der Wert kann niemals kleiner oder größer als der Min. und Max.-Wert sein.

sprite.size = new Vector2 (sizeX, sprite.size.y);

Die Spritegröße definiert sich aus dem neuen Vector2, der sich aus dem x- und den y-Wert vom Sprite zusammensetzt.

Vector 3 mousePosition = myCamera.ScreenToWorldPoint(Input.mousePosition);

Vector 3 ist die Mausposition. Diese entspricht der Kameraposition und wie sie auf die Spielwelt gerichtet ist. Die Kamera orientiert sich an der Mausposition. Mit dem ScreenToWorldPoint wird der Vector von der Screenposition (Bildschirmposition) zur Weltposition (Position in der Spielwelt) transformiert.

transform.position = newVector3(mouseposition.x, positionY);

Die Veränderung der Position vom Paddle entspricht Vector3, der sich aus Mausposition x und Y zusammensetzt.

Paddle in Unity

Zusätzlich benötigst du das passende Sprite, an welches du das Script anheftest. Dann wird das Paddle auf dem Bildschirm angezeigt.

Paddle

 

 



Posted from my blog with SteemPress : https://games-und-lyrik.de/das-kreieren-eines-arkanoid-breakout-paddles/
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!