Det kanske inte är den mest glamorösa aspekten av ditt spel, men text kan vara ett kraftfullt element som är värt att förfina.

Pythons Arcade är ett kraftfullt bibliotek som gör det enkelt att skapa 2D-spel. Ett sätt att förbättra ditt spels visuella tilltalande är att använda anpassade typsnitt och texteffekter. Anpassade typsnitt kan ge ditt spel personlighet, medan texteffekter kan dra uppmärksamheten till viktig information i spelet.

Anpassade teckensnitt lägger till ett lager av visuell distinktion till ditt spels textelement. Genom att välja typsnitt som passar ditt spels tema och humör kan du skapa en mer uppslukande upplevelse för spelarna.

Skapa ett enkelt 2D-spel

För att lära dig mer om användningen av anpassade teckensnitt och texteffekter, börja med att skapa en enkel 2D-spel med spelarrörelse. Detta steg kommer att ge en bas på vilken du senare kan introducera textelement och effekter.

Koden som används i den här artikeln finns tillgänglig i dess GitHub-förråd och är gratis för dig att använda under MIT-licensen.

instagram viewer

För detta exempel (simple-game.py), definiera en klass som heter Mitt spel som ärver från arkad. Fönster. Klasskonstruktören (__i det__) initierar spelfönstret genom att skicka skärmens bredd, höjd och titel till den överordnade konstruktören. Ställ dessutom in bakgrundsfärgen för spelfönstret med arcade.set_background_color().

För spelarrörelse, initiera spelarens position inom konstruktorn (self.player_x och self.player_y). De on_draw() metod hanterar rendering av spelarkaraktären på skärmen. Denna steg-för-steg-spelinställning utgör grunden för att integrera text och effekter.

Lägger till text

När du har din grundläggande spelstruktur är det dags att börja lägga till textelement. Att visa text är ett grundläggande sätt att förmedla information till spelare. Du kan visa poäng, instruktioner, berättelseelement eller UI-etiketter.

I den on_draw() metod för Mitt spel klass, använd arcade.draw_text() funktion för att visa ett välkomstmeddelande på skärmen. Funktionen tar flera argument, inklusive texten, dess position (i x- och y-koordinater), färg och teckenstorlek.

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)

Med den här funktionen kan du sömlöst lägga till text i ditt spel, vilket skapar förutsättningar för mer utarbetade effekter.

Lägga till ett anpassat teckensnitt

Ett anpassat typsnitt är ett bra sätt att få ditt spel att sticka ut. Arcade-biblioteket gör det enkelt att använda anpassade typsnitt med arcade.load_font() fungera. Denna funktion låter dig ladda en anpassad teckensnittsfil (vanligtvis i .ttf-format) att använda i ditt spel.

För att lägga till ett anpassat teckensnitt till ditt spel, se först till att en upphovsrättsfri anpassad teckensnittsfil finns i din spelkatalog. I den __i det__() metod för Mitt spel klass, ladda det anpassade teckensnittet med arcade.load_font() och tilldela den till en variabel (t.ex. self.custom_font).

Du kan sedan använda detta anpassade teckensnitt tillsammans med arcade.draw_text() funktion för att visa text med en distinkt visuell 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)

Här är utgången:

Lägga till texteffekter

Texteffekter tillför dynamik och visuellt intresse i ditt spel. En särskilt engagerande effekt är en pulserande animation, som uppmärksammar texten. Du kan implementera en grundläggande pulserande effekt genom att ändra teckenstorleken med tiden.

För att uppnå denna effekt, introducera en ny variabel med namnet text_effekt inom Mitt spel klass. Denna variabel kommer att styra den pulserande animationen genom att justera teckenstorleken på texten.

Genom att öka och linda in text_effekt variabel inom on_draw() metod, skapa en cyklisk effekt som varierar teckenstorleken, vilket skapar en pulserande 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

Inklusive ytterligare funktioner

Det finns många andra funktioner som du kan använda tillsammans med ett anpassat teckensnitt.

Animationer

Implementera sprite-animationer att lägga till rörelse och visuellt intresse till karaktärer och föremål. Skapa till exempel vandringsanimationer för karaktärer eller lägg till subtila svajande animationer till träd och växter.

Poängvisning

Använd anpassade typsnitt och texteffekter för att visa spelarresultat och prestationer på ett engagerande sätt. Implementera animerade övergångar när du uppdaterar poäng för att göra upplevelsen mer visuellt tilltalande.

Dialogrutor

Förbättra berättandet med texteffekter för att skapa visuellt tilltalande dialogrutor för konversationer i spelet. Använd teckenspecifika teckensnitt och texteffekter för att identifiera olika tecken.

Bästa metoder för anpassade teckensnitt och texteffekter

Det finns flera bästa praxis du bör tänka på för att säkerställa en polerad och visuellt tilltalande spelupplevelse.

Använd läsbara teckensnitt

Även om anpassade typsnitt kan ge ditt spel en unik touch, är det viktigt att prioritera läsbarhet och läsbarhet. Ett typsnitt som ser snyggt ut men som är svårt att läsa kan frustrera spelare och hindra deras engagemang.

Välj ett typsnitt som passar ditt spels tema samtidigt som du ser till att texten förblir tydlig och lätt att förstå.

Ha ett konsekvent tema

Behåll konsekvens i dina teckensnittsval och texteffekter för att skapa en sammanhängande visuell stil genom hela ditt spel. Välj typsnitt som kompletterar ditt spels övergripande tema och atmosfär.

Konsekvens i teckensnittsanvändning hjälper till att skapa en stark visuell identitet och förhindrar en skakande visuell upplevelse som kan störa spelarens fördjupning.

Tänk på teckenstorlek

När du integrerar anpassade teckensnitt, var uppmärksam på teckensnittsstorlekar och hur de skalas över olika upplösningar och enheter. Teckensnitt som visas perfekt läsbara på en utvecklares skärm kan bli för små eller för stora på andra skärmar.

Testa ditt spel på olika enheter för att säkerställa att texten förblir läsbar och visuellt tilltalande.

Säkerställ bra kontrast

Text ska stå tydligt mot bakgrunden. Säkerställ adekvat kontrast mellan text och spelmiljön för att undvika läsbarhetsproblem, särskilt i mörkare eller livligare scener.

Välj textfärger som är lätta att skilja från bakgrunden och bibehåll konsistens i färgscheman för att förbättra visuell koherens.

Använd texteffekter med måtta

Även om texteffekter kan ge stil till ditt spel, är moderering nyckeln. Överanvändning av flashiga texteffekter kan leda till visuell röran och distrahera spelare från viktig information.

Reservera texteffekter för att lyfta fram viktiga meddelanden, prestationer eller viktiga händelser i spelet för att behålla deras inverkan.

Upprätthålla bra prestanda

Anpassade teckensnitt och texteffekter kan påverka spelets prestanda om du inte är försiktig. Högupplösta typsnitt och komplexa animationer kan konsumera extra resurser och minska spelets bildfrekvens. Optimera dina textelement för att hitta en balans mellan visuellt tilltalande och prestanda, vilket säkerställer en smidig spelupplevelse.

Gör dina spel mer engagerande med anpassade teckensnitt och texteffekter

Att använda anpassade typsnitt och texteffekter i ditt arkadspel går utöver det estetiska; den lägger till lager av engagemang och djup. Anpassade typsnitt förmedlar ditt spels personlighet och humör, medan texteffekter riktar spelarens uppmärksamhet och ger visuella signaler.

Genom att implementera dessa funktioner strategiskt kan du fördjupa spelare i en interaktiv och fängslande spelupplevelse.