Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var GameScene *manager.Scene = &manager.Scene{ Init: func(setReady func()) { var err error levels, err = ldtk.Load( "sample.ldtk", &ldtk.Options{ Aseprite: true, EmbedFolder: Context.AssetsFolder, Root: "assets/maps", CollidesWith: map[int]bool{ 0: true, }, OnCollisionAdd: Context.CollisionWorld.AddNewBox, }, ) if err != nil { log.Fatal(err) } entityOptions := entities.EntityOptions{ EmbedFolder: Context.AssetsFolder, Root: "assets/images", World: Context.CollisionWorld, } keys := map[string][]ebiten.Key{ "up": {ebiten.KeyArrowUp, ebiten.KeyW}, "down": {ebiten.KeyArrowDown, ebiten.KeyS}, "right": {ebiten.KeyArrowRight, ebiten.KeyD}, "left": {ebiten.KeyArrowLeft, ebiten.KeyA}, } input.Init(keys) player = new(entities.Player) player.Init(levels, &entityOptions) setReady() }, Update: func(setReady func()) error { player.Update() Context.Camera.Follow.W, Context.Camera.Follow.H = player.Sprite.CurrentFrame.Image.Size() Context.Camera.X, Context.Camera.Y = player.X, player.Y signals.Connect("collided", func(i []interface{}) { message = "" for _, part := range i { message += part.(string) + " " } }) setReady() return nil }, Draw: func(screen *ebiten.Image) { Context.World.Fill(color.RGBA{R: 10, G: 10, B: 30, A: 255}) levels.Draw(Context.World) player.Draw(Context.World) if message != "" { ebitenutil.DebugPrint(Context.World, message) } Context.Camera.Draw(Context.World, screen) }, }
View Source
var MenuScene *manager.Scene = &manager.Scene{ Init: func(setReady func()) { setReady() }, Update: func(setReady func()) error { if inpututil.IsKeyJustPressed(ebiten.KeyEnter) { Context.Manager.SwitchTo("game") } setReady() return nil }, Draw: func(screen *ebiten.Image) { ebitenutil.DebugPrint(screen, "Press ENTER to move to the game") }, }
Functions ¶
This section is empty.
Types ¶
type ContextType ¶
type ContextType struct { Camera *camera.Camera World *ebiten.Image CollisionWorld *collisions.World AssetsFolder *embed.FS Manager *manager.Manager }
var Context *ContextType
Click to show internal directories.
Click to hide internal directories.