Det er måske ikke det mest glamourøse aspekt af dit spil, men tekst kan være et kraftfuldt element, der er værd at forfine.
Pythons Arcade er et kraftfuldt bibliotek, der gør det nemt at skabe 2D-spil. En måde at forbedre dit spils visuelle appel er brugen af brugerdefinerede skrifttyper og teksteffekter. Brugerdefinerede skrifttyper kan tilføre dit spil personlighed, mens teksteffekter kan henlede opmærksomheden på vigtige oplysninger i spillet.
Brugerdefinerede skrifttyper tilføjer et lag af visuel skelnen til dit spils tekstelementer. Ved at vælge skrifttyper, der stemmer overens med dit spils tema og humør, kan du skabe en mere fordybende oplevelse for spillerne.
Oprettelse af et simpelt 2D-spil
For at lære om brugen af brugerdefinerede skrifttyper og teksteffekter, start med at oprette en enkel 2D-spil med spillerbevægelse. Dette trin vil give en base, som du senere kan introducere tekstelementer og effekter på.
Koden, der bruges i denne artikel, er tilgængelig i dens GitHub-depot og er gratis for dig at bruge under MIT-licensen.
For dette eksempel (simple-game.py), definere en klasse kaldet Mit Spil der arver fra arkade. Vindue. Klassekonstruktøren (__i det__) initialiserer spilvinduet ved at videregive skærmbredden, højden og titlen til den overordnede konstruktør. Indstil desuden baggrundsfarven for spilvinduet vha arcade.set_background_color().
For spillerbevægelse skal du initialisere spillerens position i konstruktøren (self.player_x og self.player_y). Det on_draw() metode håndterer gengivelse af spillerkarakteren på skærmen. Denne trin-for-trin spilopsætning danner grundlaget for integration af tekst og effekter.
Tilføjelse af tekst
Når du har din grundlæggende spilstruktur, er det tid til at begynde at tilføje tekstelementer. At vise tekst er en grundlæggende måde at formidle information til spillere på. Du kan vise resultater, instruktioner, historieelementer eller UI-etiketter.
I den on_draw() metoden til Mit Spil klasse, brug arcade.draw_text() funktion for at vise en velkomstbesked på skærmen. Funktionen tager flere argumenter, herunder teksten, dens position (i x- og y-koordinater), farve og skriftstørrelse.
defon_draw(self):
arcade.start_render()
arcade.draw_circle_filled(self.player_x, self.player_y, 30, BLUE)
# Display a welcome message
arcade.draw_text("Welcome to My Game!", 200, 300, BLACK, 24)
Ved at bruge denne funktion kan du problemfrit tilføje tekst til dit spil, hvilket sætter scenen for mere komplicerede effekter.
Tilføjelse af en brugerdefineret skrifttype
En tilpasset skrifttype er en fantastisk måde at få dit spil til at skille sig ud. Arcade-biblioteket gør det nemt at bruge brugerdefinerede skrifttyper med arcade.load_font() fungere. Denne funktion lader dig indlæse en brugerdefineret skrifttypefil (typisk i .ttf-format) til at bruge i dit spil.
For at tilføje en brugerdefineret skrifttype til dit spil skal du først sikre dig, at en ophavsretsfri tilpasset skrifttypefil er i din spilmappe. I den __i det__() metoden til Mit Spil klasse, skal du indlæse den tilpassede skrifttype vha arcade.load_font() og tildele den til en variabel (f.eks. self.custom_font).
Du kan derefter bruge denne brugerdefinerede skrifttype sammen med arcade.draw_text() funktion til at vise tekst med en tydelig visuel stil.
defon_draw(self):
arcade.start_render()
arcade.draw_circle_filled(self.player_x, self.player_y, 30, BLUE)
# Load the custom font in the __init__ method of MyGame class
self.custom_font = arcade.load_font("custom_font.ttf")
text = "Custom Font!"
# Inside the on_draw method, draw text using the custom font
arcade.draw_text(text, 250, 250, BLACK, font_name=self.custom_font)
Her er outputtet:
Tilføjelse af teksteffekter
Teksteffekter tilfører dit spil dynamik og visuel interesse. En særlig engagerende effekt er en pulserende animation, som gør opmærksom på teksten. Du kan implementere en grundlæggende pulserende effekt ved at ændre skriftstørrelsen over tid.
For at opnå denne effekt skal du introducere en ny variabel med navnet tekst_effekt indenfor Mit Spil klasse. Denne variabel vil styre den pulserende animation ved at justere skriftstørrelsen på teksten.
Ved at øge og pakke tekst_effekt variabel inden for on_draw() metode, skabe en cyklisk effekt, der varierer skriftstørrelsen, hvilket skaber en pulserende animation.
self.text_effect = 0
text = "Pulsating Text"
# Inside the on_draw method, implement the pulsating text effect
text_size = 24 + self.text_effect
arcade.draw_text(text, 300, 200, BLACK, text_size, self.custom_font)
self.text_effect = (self.text_effect + 1) % 10
Inklusiv yderligere funktioner
Der er mange andre funktioner, som du kan bruge sammen med en brugerdefineret skrifttype.
Animationer
Implementer sprite-animationer at tilføje bevægelse og visuel interesse til karakterer og objekter. Skab f.eks. gå-animationer til karakterer eller tilføj subtile svajende animationer til træer og planter.
Resultatvisning
Brug tilpassede skrifttyper og teksteffekter til at vise spillernes resultater og præstationer på en engagerende måde. Implementer animerede overgange, når du opdaterer resultater for at gøre oplevelsen mere visuelt tiltalende.
Dialogbokse
Forbedre historiefortælling med teksteffekter for at skabe visuelt tiltalende dialogbokse til samtaler i spillet. Brug tegnspecifikke skrifttyper og teksteffekter til at identificere forskellige tegn.
Bedste praksis for brugerdefinerede skrifttyper og teksteffekter
Der er flere bedste praksisser, du bør huske på for at sikre en poleret og visuelt tiltalende spiloplevelse.
Brug læselige skrifttyper
Selvom brugerdefinerede skrifttyper kan tilføje et unikt touch til dit spil, er det vigtigt at prioritere læsbarhed og læsbarhed. En skrifttype, der ser stilfuld ud, men som er svær at læse, kan frustrere spillere og hindre deres engagement.
Vælg en skrifttype, der passer til dit spils tema, samtidig med at du sikrer, at teksten forbliver klar og let forståelig.
Har et konsekvent tema
Bevar konsekvens i dine skrifttypevalg og teksteffekter for at skabe en sammenhængende visuel stil gennem hele dit spil. Vælg skrifttyper, der komplementerer dit spils overordnede tema og atmosfære.
Konsistens i skrifttypebrug hjælper med at etablere en stærk visuel identitet og forhindrer en rystende visuel oplevelse, der kan forstyrre spillerens fordybelse.
Overvej skriftstørrelse
Når du integrerer brugerdefinerede skrifttyper, skal du være opmærksom på skriftstørrelser, og hvordan de skaleres på tværs af forskellige opløsninger og enheder. Skrifttyper, der vises perfekt læselige på en udviklers skærm, kan blive for små eller for store på andre skærme.
Test dit spil på forskellige enheder for at sikre, at teksten forbliver læsbar og visuelt tiltalende.
Sørg for god kontrast
Teksten skal stå tydeligt frem mod baggrunden. Sørg for tilstrækkelig kontrast mellem tekst og spilmiljøet for at undgå læsbarhedsproblemer, især i mørkere eller mere travle scener.
Vælg tekstfarver, der let kan skelnes fra baggrunden, og bevar ensartede farveskemaer for at forbedre den visuelle sammenhæng.
Brug teksteffekter i moderation
Mens teksteffekter kan tilføje flair til dit spil, er moderation nøglen. Overbrug af prangende teksteffekter kan føre til visuel rod og distrahere spillere fra vigtig information.
Reserver teksteffekter til at fremhæve vigtige beskeder, præstationer eller vigtige begivenheder i spillet for at bevare deres effekt.
Oprethold god ydeevne
Brugerdefinerede skrifttyper og teksteffekter kan påvirke spillets ydeevne, hvis du ikke er forsigtig. Skrifttyper med høj opløsning og komplekse animationer kan tære ekstra ressourcer og reducere spillets billedhastighed. Optimer dine tekstelementer for at finde en balance mellem visuel appel og ydeevne, hvilket sikrer en jævn spiloplevelse.
Gør dine spil mere engagerende med brugerdefinerede skrifttyper og teksteffekter
Brug af brugerdefinerede skrifttyper og teksteffekter i dit arkadespil går ud over æstetik; det tilføjer lag af engagement og dybde. Brugerdefinerede skrifttyper formidler dit spils personlighed og humør, mens teksteffekter dirigerer spillerens opmærksomhed og giver visuelle signaler.
Ved strategisk at implementere disse funktioner kan du fordybe spillere i en interaktiv og fængslende spiloplevelse.