Automatische Kachelverlegung für Hintergründe

0

Index

Tagged

Attached Files

The following files have been attached to this tutorial:

.capx

tiling-sprites.capx

Download now 82.44 KB

Stats

4,539 visits, 5,978 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 12 Oct, 2013. Last updated 25 Feb, 2019

In den folgenden Screenshots seht ihr, was wir im Tutorial erreichen werden.

Statt solche Hintergrundbilder in einem Bildbearbeitungsprogramm zu erstellen und diese als große Datei in Construct 2 einzubinden, ist es geschickter, kleinere Kacheln zu laden und diese fest oder dynamisch mittels For-Schleifen einzubinden. Der Charme daran ist, dass man jeder Kachel unterschiedliche Helligkeiten mittels dem "Brightness"-Effekt verpassen kann. Sieht dann auch realistischer aus.

Wir werden folgende Kacheln nutzen:

Bathroom_tile.png

Wood_tile.png

Vorarbeiten

In den Projekteigenschaften habe ich eine Fenstergröße von 400, 400 definiert.

Ladet die Holzkachel als Sprite, benennt diese in "WoodSprite" um und setzt den Nullpunkt (origin point) auf 0, 0.

Wir benötigen zwei globale Variablen loopVarX und loopVarY.

Bei jedem Laden des Layouts müssen diese Variablen auf 0 gesetzt werden, also ist folgendes Ereignis erforderlich:

System -> On start of layout mit den Aktionen

System -> Set loopVarX to 0

System -> Set loopVarY to 0

Nun brauchen wir zwei Schleifen

- um die Holzkachel horizontal zu verteilen

- um die Holzkachel vertikal zu verteilen

Die Kacehlgröße beträgt in dem Fall 20x100. Also werden für unsere Fenstergröße 4 Reihen (=100 Kachelhöhe x 4 = 400 Pixel) und 20 Spalten (20 Kachelbreite x 20 = 400 Pixel).

Ja, ich gehe davon aus, dass das Spiel innerhalb des Fensterbereiches stattfinden wird. Ist eine Verteilung über die Layoutgröße hinweg erforderlich - siehe letztes Kapitel

Wir fügen ein neues Ereignis hinzu:

System -> For -> 1 to 5 ohne eine Aktion

Anmerkung: Ich werde später erklären, warum die Schleife bis 5 und nicht bis 4 läuft!

Fügt ein neues Unterereignis (sub-event) unter diese Schleife hinzu:

System -> For -> 1 to 20 mit der folgenden Aktion

System -> Create object -> WoodSprite on layer 0 at loopVarx[]20, loopVarY[]100

Die Schleifen zählen ja intern, aber wir müssen dies in den vorhin erzeugten Variable festhalten:

System -> Add 1 to loopVarX

Gut, eine Reihe an Holzkacheln haben wir hingekriegt. Nach der Schleife muss die loopVarX Variable für die nächste Reihe wieder auf 0 gesetzt werden - die loopVarY Variable wächst um 1 Punkt.

Ein weiteres leeres Untererignis (blank sub-event) ist unter der 1 to 5 Schleife erforderlich.

Setzt folgende Aktionen ein:

System -> Set loopVarX to 0

System -> Add 1 to loopVarY

Startet das Spiel um ein Zwischenergebnis zu haben.

Naja, nicht spannend, sondern langweilig.

Im Layoutfenster, klickt auf den Holzkachel-Sprite und in dem Eigenschaftenfenster weist ihr ihm den Effekt "Brightness" (Helligkeit) zu.

Bevor ihr das Spiel startet, geht wieder zurück ins Event-Fenster und fügt folgende Aktion in der Schleife "1 to 20" hinzu:

WoodSprite -> Set effect "Brightness" parameter 0 to random(10)+90

Also, das sieht schon viel besser aus. Jede Kachel hat eine unterschiedliche Helligkeit. Es geht aber noch besser..

  • 0 Comments

Want to leave a comment? Login or Register an account!