Google-fontit BASICissa
Nimeä fonttiperhe ja saat oikeaa vektoritekstiä bittikarttataulun sijaan, sekä odotuksen, jota asynkroninen lataus vaatii, ja mitä tapahtuu, kun peli viedään.
Mihin tätä käytetään#
Klassinen BASIC piirtää tekstiä fonttikuvasta: glyfitaulusta, jonka
asetat komennolla TextFontImage(text, image). Se toimii, se on se, mitä
murre on aina tehnyt, ja se pysyy tarkalleen paikallaan. Mutta bittikarttataulu
ei skaalaudu, ja se näyttää siltä, mitä se on.
LoadGoogleFont nimeää perheen sen sijaan:
font = LoadGoogleFont("Inter")
PrintFont(font)
Print("Hello")
DO
Sync()
LOOP
Mitään ei poisteta. LoadFont, TextFontImage ja bittikarttapolku toimivat
kaikki edelleen, ja ohjelma voi sekoittaa niitä.
Odotus ei ole valinnainen#
Fontti on tiedosto, ja tiedosto saapuu vasta kutsun palattua. Jos tulostat ennen kuin se on saapunut, ensimmäiset ruudut tulevat ulos varafontilla, mikä näyttää siltä, että "komento ei tehnyt mitään".
GoogleFontReady on se, jota odotat:
font = LoadGoogleFont("Inter")
ready = 0
DO
IF ready = 0
IF GoogleFontReady(font) = 1
PrintFont(font)
ready = 1
ENDIF
ENDIF
Print("Hello")
Sync()
LOOP
Varoitus: sama ansa nappasi kerran sovelluksen omat moduulit. Fontin ilmoittaminen ei ole sen lataamista: kangas lataa perheen vasta, kun joku sitä pyytää, ja vastaus saapuu ruudun tai useamman myöhemmin.
Perheiden selaaminen#
Moottorin mukana tulee lista perheistä, ja ohjelma voi lukea sen, mitä pelin sisäinen fonttivalitsin tarvitsee:
count = GoogleFontCount()
FOR i = 0 TO count - 1
Print(GoogleFontName(i))
NEXT i
Lista täyttää valitsimen; se ei ole rajoitus. Mikä tahansa Google-perhe
latautuu nimellä komennolla LoadGoogleFont, listattuna tai ei.
Mitä tapahtuu, kun viet pelin#
| Missä peli pyörii | Mitä tapahtuu |
|---|---|
| Editori | Perhe haetaan Googlelta ensimmäisellä kerralla, kun se nimetään. |
| Selainvienti | Sama, ja tiedosto tarjoillaan buildista, kun viejä pystyi paketoimaan sen. |
| Natiivi tai Bevy-build | Tiedoston on täytynyt kulkea buildin mukana. Verkkoa ei ole. |
Viejä lukee ohjelmasi, löytää jokaisen perheen, jonka nimesit selväkielisenä
tekstinä, lataa sen ja kirjoittaa sen kohteeseen assets/fonts/<Family>.woff2.
Tämä build toimii sen jälkeen ilman verkkoyhteyttä.
Varoitus: ajon aikana laskettua perhettä ei voida löytää lukemalla ohjelmaa, joten sitä ei voida paketoida. Vientiraportti kertoo tämän, ja build palaa oletusfonttiin. Kirjoita
LoadGoogleFont("Inter"), äläLoadGoogleFont(names[i]), kaikelle, minkä on selvittävä viennistä.
Komennot#
| Komento | Mitä se tekee |
|---|---|
LoadGoogleFont(family) | Lataa perheen, palauttaa id:n |
LoadGoogleFont(fontID, family) | Sama, itse valitulla id:llä |
GoogleFontReady(fontID) | 1, kun tiedosto on käyttökelpoinen |
GoogleFontCount() | Kuinka monta perhettä lista tarjoaa |
GoogleFontName(index) | Yksi perheen nimi listalta |
Kaikki muu on olemassa olevaa fonttikoneistoa: PrintFont(id) komennolle
Print, TextFontSet(text, id) Text-objektille, DeleteFont(id) sen
pudottamiseksi.
Mene pidemmälle#
- Koko perhe, jokaisella parametrilla: Font-komennot.
- Murre itsessään: BASIC-kieli.