Ingewikkeldheid: Unity C#
Benodigde Modules: Geen
In deze module ga je leren hoe je Tilemaps kan gebruiken. Hiermee kan je op een makkelijke manier levels maken door blokjes te tekenen in een grid.
Maak om te beginnen een nieuwe lege Tile Map aan door linksboven in het scherm, bovenin de Hierarchy op Create te klikken en dan naar 2D Object -> Tilemap te gaan. Je ziet dan dat er een nieuw object gemaakt wordt met de naam Grid. Als je hier op klikt zie je de lijntjes van het grid verschijnen. Als je in de Hierarchy op het pijltje voor Grid klikt zie je dat er ook een kind-object gemaakt is met de naam Tilemap.
Om nu dit grid te gebruiken om blokjes te tekenen moet je eerst iets maken dat een Tile Palette heet. Hiermee kan je straks de blokjes kiezen die je wil tekenen. Ga in de balk bovenin het scherm naar Window -> 2D -> Tile Palette. Er verschijnt nu een nieuw schermpje. Door de naam van dat schermpje (Tile Palette) te verslepen kan je het op een vaste plek in je beeldscherm zetten, bijvoorbeeld in het rechter gedeelte van de Assets.
Klik hierin nu op Create New Palette, dan in het schermpje dat verschijnt weer op Create en dan op Select Folder. Nu kan je plaatjes aan je palet toevoegen. Dit doe je door ze vanuit de Assets naar het grote vlak waarin ‘Drag Tile, Sprite or Sprite Texture Assets here.’ te slepen. Klik op Save om een Tile Asset te maken die je dan op het Palette zet.
Als je nog meer blokjes nodig hebt die je in je levels wil gebruiken kan je dit pakket downloaden. Vergeet voor de nieuwe plaatjes die je aan je Assets toevoegt niet om in de Inspector de Pixels Per Unit in te stellen op de breedte van het plaatje in pixels (Dit zie je onder de Inspector). Dit is vooral bij Tilemaps belangrijk, want anders passen de blokjes niet aan elkaar.
Verwijder nu in je level de blokjes die je al had gemaakt via Prefabs door de objecten te selecteren en dan op delete te klikken. Onthoud wel waar je ze neer had gezet, zodat je ze opnieuw kan tekenen met de Tilemap.
Als je nu in het palet op een van de blokjes klikt die je hebt toegevoegd selecteer je dat blokje om mee te tekenen. Bovenin het Tile Palette scherm staan de verschillende tools (werktuigen) die je kan gebruiken om mee te tekenen. De kwast tool is standaard geselecteerd. Hiermee teken je blokjes waar je met de muis klikt of sleept. Rechts daarvan is de box tool. Hiermee kan je door te slepen makkelijk lijnen of blokken van die tile neerzetten.
De een na laatste tool is de gum. Hiermee kan je blokjes weer wissen. Je kan ook met de kwast of box geselecteerd de shift toets inhouden en dan te tekenen om blokjes te wissen. Met de laatste tool, de verfemmer, kan je in een keer een groot stuk van de Tilemap opvullen met het geselecteerde plaatje.
Met de eerste twee tools kan je delen van de Tilemap selecteren en verplaatsen. Met de pipet kan je delen van je level selecteren om mee te tekenen. Zo kan je snel delen van je level ergens anders naartoe kopiëren. Selecteren kan je ook doen door de Ctrl knop in te houden terwijl je kwast, box of verplaats tool gebruikt.
Als je nu wat blokjes onder de Player hebt getekend en op je game stat zul je zien dat de Player weer door de blokjes heen valt. Ook bij een Tilemap moet je een Collider2D toevoegen. Klik op het Tilemap object en voeg met Add Component een Tilemap Collider 2D toe aan het object. Deze collider zorgt ervoor dat elke tile die je tekent een collider krijgt die bij de vorm past.
Als de Player wat schokkerig beweegt over rechte stukken kan je ook nog een Composite Collider 2D toevoegen. Deze zorgt ervoor dat alle tiles samen een grote collider vormen. Klik in het Tilemap Collider 2D component op het vakje achter Used by Composite om dit te laten werken. De Composite toevoegen voegt ook meteen een Rigidbody2D toe. Zet bij deze het Body Type op Static, zodat hij er niet voor zorgt dat de Tilemap kan bewegen.
Als de blokjes niet helemaal op de goede plek worden getekend vergeleken met de rest van de objecten in je level omdat je die op hele getallen had ingesteld, kan je de X en Y positie van het Grid object op 0.5 instellen.
De Tilemap als prefab opslaan is iets ingewikkelder dan bij de meeste objecten, omdat de blokjes die je getekend hebt bij het object horen en ook opgeslagen worden. Wat je het beste kan doen is het Grid wel als prefab opslaan, maar dan in je level de prefab uitpakken door in de Hierarchy met je rechtermuisknop op Grid te klikken en dan naar Unpack Prefab te gaan.
Vervolgens dubbelklik je in de Assets op de prefab om de prefab te openen. Verwijder nu alle blokjes die je hier ziet. Omdat de prefab uitgepakt is verandert er nu in je level niets. Deze prefab kan je nu ook in andere levels gebruiken, maar het is handig om hem dan ook meteen uit te pakken.