Tons of experimental updates.
This commit is contained in:
64
game.go
Normal file
64
game.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"image/color"
|
||||
c "loading/character"
|
||||
"loading/objects"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
"github.com/hajimehoshi/ebiten/v2/text"
|
||||
)
|
||||
|
||||
// Game implements ebiten.Game interface.
|
||||
type Game struct {
|
||||
counter int
|
||||
player c.Character
|
||||
enemies []c.Character
|
||||
keys []ebiten.Key
|
||||
bobbles []objects.Bobble
|
||||
}
|
||||
|
||||
// Layout takes the outside size (e.g., the window size) and returns the (logical) screen size.
|
||||
// If you don't have to adjust the screen size with the outside size, just return a fixed size.
|
||||
func (g *Game) Layout(outsideWidth, outsideHeight int) (screenWidth, screenHeight int) {
|
||||
return 800, 600
|
||||
}
|
||||
|
||||
// Draw draws the game screen.
|
||||
// Draw is called every frame (typically 1/60[s] for 60Hz display).
|
||||
func (g *Game) Draw(screen *ebiten.Image) {
|
||||
dst := screen
|
||||
dst.Fill(color.RGBA{0x28, 0x28, 0x28, 0xff})
|
||||
|
||||
// render the info text
|
||||
text.Draw(dst, bsofttext, mplusNormalFont, 20, 40, color.White)
|
||||
|
||||
//g.DrawChase(dst)
|
||||
//g.DrawLoading(dst)
|
||||
g.DrawBobbles(dst)
|
||||
}
|
||||
|
||||
func (g *Game) DrawBobbles(image *ebiten.Image) {
|
||||
//identifier
|
||||
text.Draw(image, bobblesInfo, mplusTinyFont, 20, 60, color.White)
|
||||
|
||||
//light up the bobbles
|
||||
for i := 0; i < len(g.bobbles); i++ {
|
||||
DrawBobble(g.bobbles[i], image)
|
||||
}
|
||||
}
|
||||
|
||||
func (g *Game) DrawChase(image *ebiten.Image) {
|
||||
|
||||
//identifier
|
||||
text.Draw(image, sceneInfo, mplusTinyFont, 20, 60, color.White)
|
||||
|
||||
//draw the enemies first
|
||||
for i := 0; i < len(g.enemies); i++ {
|
||||
DrawCharacter(g.enemies[i], image)
|
||||
}
|
||||
|
||||
//followed by the player character
|
||||
DrawCharacter(g.player, image)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user