Esset je základný implementátor materiálov pre ebitengine.
Najskôr spustite go get github.com/temidaradev/esset
a vytvorte priečinok pre materiály ak ju ešte nemáte. Po vytvorení priečinka umiestnite .png materiály do priečinka a vytvorte assets.go
. Potom pridajte
//go:embed *
var assets embed.FS
tento embed príkaz hneď po import časti. Teraz už môžete používať esset ako váš implementátor materiálov. Vyžaduje to 2 parametre z vášho embed príkazu a potom váš "asset.png"
.
Tu je príklad: var Idle = esset.GetAsset(assets, "path/to/your/asset.png")
Dôležité je vytvoriť priečinok a umiestniť každú jednotlivú dlaždicu (.png) takto
a potom môžete jednoducho použiť túto funkciu takto: var Tile = esset.GetMultipleAssets(assets, "path/to/your/*.png")
Kedže vyberáte viac ako 1 obraz, náš *ebiten.Image
je pole z ktorého môžete vyberať podľa indexu takto: TileComponent := assets.Tile[0]
, alebo ak vám treba získať náhodný materiál z toho priečinka tak môžete takto: TileRandom := assets.Tile[rand.Intn(len(assets.Tile))]
Pre písma ich musíte vložiť oddelene takto:
//go:embed path/to/your/font.ttf
var MyFont []byte
Na to nie je potrebné vytvárať špeciálne možnosti DrawOptions. Stačí zadať X a Y po veľkosti písma. Nakoniec pridajte svoju farbu.
Potom môžete použiť esset.DrawText
funkciu takto: esset.DrawText(screen, assets.MyFont, "wassup", 24, 100, 50, color.White)
Veľmi vďaka pre @m110 za podporu so zdrojom <3