Initial commit.
This commit is contained in:
BIN
assets/duck_idle.png
Normal file
BIN
assets/duck_idle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
45
assets/imagebank.go
Normal file
45
assets/imagebank.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package assets
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
_ "embed"
|
||||
"image"
|
||||
_ "image/png"
|
||||
"log"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
)
|
||||
|
||||
type ImgAssetName string
|
||||
|
||||
const (
|
||||
Ducky ImgAssetName = "Ducky"
|
||||
ReDucky ImgAssetName = "ReDucky"
|
||||
Orb ImgAssetName = "Orb"
|
||||
)
|
||||
|
||||
var (
|
||||
ImageBank map[ImgAssetName]*ebiten.Image
|
||||
|
||||
//go:embed duck_idle.png
|
||||
duckidle_img []byte
|
||||
//go:embed reducky_idle.png
|
||||
reduckidle_img []byte
|
||||
//go:embed orb.png
|
||||
orb_img []byte
|
||||
)
|
||||
|
||||
func LoadImages() {
|
||||
ImageBank = make(map[ImgAssetName]*ebiten.Image)
|
||||
ImageBank[Ducky] = LoadImagesFatal(duckidle_img)
|
||||
ImageBank[ReDucky] = LoadImagesFatal(reduckidle_img)
|
||||
ImageBank[Orb] = LoadImagesFatal(orb_img)
|
||||
}
|
||||
|
||||
func LoadImagesFatal(b []byte) *ebiten.Image {
|
||||
img, _, err := image.Decode(bytes.NewReader(b))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
return ebiten.NewImageFromImage(img)
|
||||
}
|
||||
BIN
assets/mainloop.ogg
Normal file
BIN
assets/mainloop.ogg
Normal file
Binary file not shown.
BIN
assets/orb.png
Normal file
BIN
assets/orb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
BIN
assets/reducky_idle.png
Normal file
BIN
assets/reducky_idle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.6 KiB |
74
assets/soundbank.go
Normal file
74
assets/soundbank.go
Normal file
@@ -0,0 +1,74 @@
|
||||
package assets
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"log"
|
||||
|
||||
_ "embed"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2/audio/mp3"
|
||||
"github.com/hajimehoshi/ebiten/v2/audio/vorbis"
|
||||
"github.com/hajimehoshi/ebiten/v2/audio/wav"
|
||||
)
|
||||
|
||||
type SndAssetName string
|
||||
|
||||
const (
|
||||
MainLoop SndAssetName = "MainLoop"
|
||||
MainLoopMp3 SndAssetName = "MainLoopMp3"
|
||||
MainLoopOgg SndAssetName = "MainLoopOgg"
|
||||
SampleRate = 44100
|
||||
)
|
||||
|
||||
var (
|
||||
//SoundBank map[SndAssetName]*wav.Stream
|
||||
//SoundBankMp3 map[SndAssetName]*mp3.Stream
|
||||
SoundBankOgg map[SndAssetName]*vorbis.Stream
|
||||
//go:embed mainloop.ogg
|
||||
mainloop_snd []byte
|
||||
)
|
||||
|
||||
func init() {
|
||||
LoadSounds()
|
||||
}
|
||||
|
||||
func LoadSounds() {
|
||||
//SoundBank = make(map[SndAssetName]*wav.Stream)
|
||||
//SoundBankMp3 = make(map[SndAssetName]*mp3.Stream)
|
||||
SoundBankOgg = make(map[SndAssetName]*vorbis.Stream)
|
||||
|
||||
//SoundBank[MainLoop] = LoadSoundFatal(SampleRate, hyper_snd)
|
||||
//SoundBankMp3[MainLoopMp3] = LoadSoundFatalMp3(SampleRate, mainloop_snd)
|
||||
SoundBankOgg[MainLoopOgg] = LoadSoundFatalOgg(SampleRate, mainloop_snd)
|
||||
|
||||
}
|
||||
|
||||
func LoadSoundFatal(rate int, obj []byte) *wav.Stream {
|
||||
|
||||
stream, err := wav.DecodeWithSampleRate(rate, bytes.NewReader(obj))
|
||||
if err != nil {
|
||||
log.Fatal("dead, jim")
|
||||
}
|
||||
|
||||
return stream
|
||||
}
|
||||
|
||||
func LoadSoundFatalMp3(rate int, obj []byte) *mp3.Stream {
|
||||
|
||||
stream, err := mp3.DecodeWithSampleRate(rate, bytes.NewReader(obj))
|
||||
if err != nil {
|
||||
log.Fatal("dead, jim")
|
||||
}
|
||||
|
||||
return stream
|
||||
}
|
||||
|
||||
func LoadSoundFatalOgg(rate int, obj []byte) *vorbis.Stream {
|
||||
|
||||
stream, err := vorbis.DecodeWithSampleRate(rate, bytes.NewReader(obj))
|
||||
if err != nil {
|
||||
log.Fatal("dead, jim")
|
||||
}
|
||||
|
||||
return stream
|
||||
}
|
||||
Reference in New Issue
Block a user