Hvis du har brug for at oprette forskellige Tilemaps i forskellige størrelser tjek den anden del af denne tutorial
Tilemap komponent blev introduceret i Unity 2017.2 og væsentligt lettet 2D spil udviklingsprocessen. Med den version 2018.3 isometrisk Tilemap blev indført yde stor støtte til 2.5 D spil. For nylig havde jeg mulighed for at arbejde tæt sammen med denne komponent og blev udfordret med opgaven at skabe fliser programmatisk. I mit sidste spil har jeg mange niveauer, og alle har det samme Tilemap-baserede bord. Men bestyrelsen selv har niveau-unik opsætning. Det er klart, at jeg som professionel udvikler ikke ønskede at oprette 60 spilscener og male alle niveauer for hånd, men snarere have en mekanisme til at fylde brættet med de rigtige elementer afhængigt af det givne input. Hvis du er nysgerrig, hvordan slutresultatet ser ud her er link til spillet.
kildekoden er tilgængelig på GitHub, find venligst linket i slutningen af denne vejledning.
Jeg bruger den seneste tilgængelige enhed 2019.2.0.1 f. For at arbejde med denne tutorial skal du have mindst version 2018.3. Vi vil bruge isometrisk gitter, men beskrevet teknik gælder for enhver type.
før jeg starter, foreslår jeg stærkt at læse gennem dette strålende isometriske 2D-miljøer med Tilemap-blogindlæg for at få en grundlæggende forståelse af isometrisk Tilemap.
da vi arbejder i et 2D-miljø, skal du oprette et nyt 2d-projekt (se 2DAnd3DModeSettings)
Der er 3 hovedkomponenter, der kræves for at nå vores mål: et spil bord, hvor spillet vil finde sted, et sted, hvor man kan holde et niveau beskrivelse og nogle kode, der forbinder den ene til den anden.
lad os starte med at importere nødvendige billedaktiver. Jeg bruger de samme billeder, som jeg brugte til mit spil:
Vi vil holde billeder i mappen fliser, blot trække og slippe dem der.
bemærk! Du skal have en korrekt “billedstørrelse pr. enhed” indstillet pr. hvert flisebillede (for yderligere detaljer se isometriske 2D-miljøer med Tilemap). For disse billeder er værdien 1096.
det er en god praksis at adskille forskellige lag på en scene i dedikerede spilobjekter med beskrivende navne. Forestil dig den typiske spilskærm, der kan indeholde et spilområde, brugergrænseflade, annonceplaceringer og så videre.
efter denne tilgang lad os oprette et nyt tomt spilobjekt med navnetGameZone hvor brættet og alle spilelementer kunne placeres.
nu er det tid til at oprette faktiske fliser fra de billeder, vi importerede tidligere