Esset is a basic asset implementer for ebitengine.
First go get github.com/temidaradev/esset
and create an assets folder if you don't have. After creating folder put .png assets into that folder and create assets.go
. After this add
//go:embed *
var assets embed.FS
this embed statement after import part. Now you can use esset as you asset implementer. It wants 2 parameters from you firstly embed statement and then your "asset.png"
.
Here is an example: var Idle = esset.GetAsset(assets, "path/to/your/asset.png")
Important thing is create a folder and put every single tile item (.png) like this
and then you can use that function easily like this: var Tile = esset.GetMultipleAssets(assets, "path/to/your/*.png")
Because of you are selecting more than 1 image our *ebiten.Image
is a slice you can select by index like this: TileComponent := assets.Tile[0]
or if you need to get random asset from that folder you can do like this: TileRandom := assets.Tile[rand.Intn(len(assets.Tile))]
For fonts you have to embed fonts seperataly like this:
//go:embed path/to/your/font.ttf
var MyFont []byte
No need to create a special DrawOptions for this. Just enter X and Y after font size. Lastly add your color.
After that you can use esset.DrawText
func like this: esset.UseFont(screen, assets.MyFont, "wassup", 24, 100, 50, color.White)
Much thanks to @m110 for source support <3