52 lines
910 B
Go
52 lines
910 B
Go
package assets
|
|
|
|
import (
|
|
"bytes"
|
|
_ "embed"
|
|
"image"
|
|
"log"
|
|
|
|
"github.com/hajimehoshi/ebiten/v2"
|
|
)
|
|
|
|
type ImgAssetName string
|
|
|
|
const (
|
|
Green ImgAssetName = "Green"
|
|
Blue ImgAssetName = "Blue"
|
|
Yellow ImgAssetName = "Yellow"
|
|
Red ImgAssetName = "Red"
|
|
)
|
|
|
|
var (
|
|
ImageBank map[ImgAssetName]*ebiten.Image
|
|
|
|
//go:embed dino_blue.png
|
|
blue_img []byte
|
|
//go:embed dino_green.png
|
|
green_img []byte
|
|
//go:embed dino_red.png
|
|
red_img []byte
|
|
//go:embed dino_yellow.png
|
|
yellow_img []byte
|
|
)
|
|
|
|
func init() {
|
|
ImageBank = make(map[ImgAssetName]*ebiten.Image)
|
|
|
|
ImageBank[Blue] = LoadImageFatal(blue_img)
|
|
ImageBank[Green] = LoadImageFatal(green_img)
|
|
ImageBank[Red] = LoadImageFatal(red_img)
|
|
ImageBank[Yellow] = LoadImageFatal(yellow_img)
|
|
}
|
|
|
|
func LoadImageFatal(b []byte) *ebiten.Image {
|
|
|
|
img, _, err := image.Decode(bytes.NewReader(b))
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
return ebiten.NewImageFromImage(img)
|
|
|
|
}
|