func (s *GameScene) LoadTextures() { TileAtlas = engine.NewManagedAtlas(512, 512) e, TileID := TileAtlas.LoadImage("./data/zumbies/tiles/tile.png") CheckError(e) TileIDs = append(TileIDs, TileID) e, TileID = TileAtlas.LoadImage("./data/zumbies/tiles/tile2.png") CheckError(e) TileIDs = append(TileIDs, TileID) e, TileID = TileAtlas.LoadImage("./data/zumbies/tiles/tile3.png") CheckError(e) TileIDs = append(TileIDs, TileID) e, TileID = TileAtlas.LoadImage("./data/zumbies/tiles/tile4.png") CheckError(e) TileIDs = append(TileIDs, TileID) e, TileID = TileAtlas.LoadImage("./data/zumbies/tiles/tile5.png") CheckError(e) TileIDs = append(TileIDs, TileID) e, TileID = TileAtlas.LoadImage("./data/zumbies/tiles/tile6.png") CheckError(e) TileIDs = append(TileIDs, TileID) e, PlayerID = TileAtlas.LoadImage("./data/zumbies/zombie.png") CheckError(e) TileAtlas.BuildAtlas() TileAtlas.SetFiltering(engine.Nearest, engine.Nearest) }
func LoadTextures() { atlas = engine.NewManagedAtlas(2048, 1024) Background.Atlas = engine.NewManagedAtlas(2048, 1024) Objects.Atlas = engine.NewManagedAtlas(2048, 1024) Objects.ObjectsAtlas = engine.NewManagedAtlas(2048, 1024) Player.Atlas = engine.NewManagedAtlas(2048, 1024) Enemy.Atlas = engine.NewManagedAtlas(2048, 1024) Objects.Tileset = engine.NewManagedAtlas(2048, 1024) menuAtlas = engine.NewManagedAtlas(2048, 1024) Player.ChudAtlas = engine.NewManagedAtlas(2048, 1024) CheckError(Background.Atlas.LoadImageID("./data/background/backGame.png", Background.Spr_bg)) CheckError(Objects.ObjectsAtlas.LoadImageID("./data/objects/lader.png", Objects.Spr_lader)) CheckError(Objects.ObjectsAtlas.LoadImageID("./data/objects/splinter.png", Objects.Spr_splinter)) CheckError(Objects.ObjectsAtlas.LoadImageID("./data/objects/box.png", Objects.Spr_box)) CheckError(Player.ChudAtlas.LoadImageID("./data/bar/chud.png", Player.Spr_chud)) CheckError(Player.ChudAtlas.LoadImageID("./data/bar/hpBar.png", Player.Spr_chudHp)) CheckError(Player.ChudAtlas.LoadImageID("./data/bar/cpBar.png", Player.Spr_chudCp)) CheckError(Player.ChudAtlas.LoadImageID("./data/bar/expBar.png", Player.Spr_chudExp)) Objects.ObjectsAtlas.LoadGroupSheet("./data/items/chest.png", 41, 54, 4) CheckError(Objects.Atlas.LoadImageID("./data/items/Coin.png", Objects.Spr_coin)) CheckError(Objects.Atlas.LoadImageID("./data/items/Coin10.png", Objects.Spr_coin10)) CheckError(Objects.Atlas.LoadImageID("./data/items/Daimond.png", Objects.Spr_diamond)) CheckError(Objects.Atlas.LoadImageID("./data/items/spot.png", Objects.Spr_spot)) CheckError(Objects.Atlas.LoadImageID("./data/items/bigSpot.png", Objects.Spr_bigspot)) e, id := Player.Atlas.LoadGroupSheet("./data/player/player_walk.png", 187, 338, 4) CheckError(e) e, id = Player.Atlas.LoadGroupSheet("./data/player/player_stand.png", 187, 338, 1) CheckError(e) e, id = Player.Atlas.LoadGroupSheet("./data/player/player_attack.png", 249, 340, 9) CheckError(e) e, id = Player.Atlas.LoadGroupSheet("./data/player/player_jump.png", 236, 338, 1) CheckError(e) e, id = Player.Atlas.LoadGroupSheet("./data/player/player_bend.png", 188, 259, 1) CheckError(e) e, id = Player.Atlas.LoadGroupSheet("./data/player/player_climb.png", 236, 363, 2) CheckError(e) e, id = Player.Atlas.LoadGroupSheet("./data/player/player_hit.png", 206, 334, 1) CheckError(e) e, id = Enemy.Atlas.LoadGroupSheet("./data/Enemy/enemy_walk.png", 187, 338, 4) CheckError(e) e, id = Enemy.Atlas.LoadGroupSheet("./data/Enemy/enemy_stand.png", 187, 338, 1) CheckError(e) e, id = Enemy.Atlas.LoadGroupSheet("./data/Enemy/enemy_attack.png", 249, 340, 9) CheckError(e) e, id = Enemy.Atlas.LoadGroupSheet("./data/Enemy/enemy_jump.png", 236, 338, 1) CheckError(e) e, id = Enemy.Atlas.LoadGroupSheet("./data/Enemy/enemy_hit.png", 206, 334, 1) CheckError(e) e, id = Objects.Tileset.LoadGroupSheet("./data/tileset/ground.png", 32, 32, 110) CheckError(e) _ = id CheckError(menuAtlas.LoadImageID("./data/menu/menuback.png", spr_menuback)) CheckError(menuAtlas.LoadImageID("./data/menu/exit.png", spr_menuexit)) CheckError(menuAtlas.LoadImageID("./data/menu/newgame.png", spr_menunew)) CheckError(menuAtlas.LoadImageID("./data/menu/load.png", spr_menuload)) CheckError(menuAtlas.LoadImageID("./data/menu/howTo.png", spr_menuhowTo)) atlas.BuildAtlas() atlas.BuildMipmaps() atlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) atlas.Texture.SetReadOnly() Background.Atlas.BuildAtlas() Background.Atlas.BuildMipmaps() Background.Atlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) Background.Atlas.Texture.SetReadOnly() Objects.Atlas.BuildAtlas() Objects.Atlas.BuildMipmaps() Objects.Atlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) Objects.Atlas.Texture.SetReadOnly() Objects.ObjectsAtlas.BuildAtlas() Objects.ObjectsAtlas.BuildMipmaps() Objects.ObjectsAtlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) Objects.ObjectsAtlas.Texture.SetReadOnly() Enemy.Atlas.BuildAtlas() Enemy.Atlas.BuildMipmaps() Enemy.Atlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) Enemy.Atlas.Texture.SetReadOnly() Player.ChudAtlas.BuildAtlas() Player.ChudAtlas.BuildMipmaps() Player.ChudAtlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) Player.ChudAtlas.Texture.SetReadOnly() Player.Atlas.BuildAtlas() Player.Atlas.BuildMipmaps() Player.Atlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) Player.Atlas.Texture.SetReadOnly() menuAtlas.BuildAtlas() menuAtlas.BuildMipmaps() menuAtlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) menuAtlas.Texture.SetReadOnly() Objects.Tileset.BuildAtlas() Objects.Tileset.BuildMipmaps() Objects.Tileset.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) Objects.Tileset.Texture.SetReadOnly() }
func LoadTextures() { atlas = engine.NewManagedAtlas(2048, 1024) atlasSpace = engine.NewManagedAtlas(1024, 1024) atlasPowerUp = engine.NewManagedAtlas(256, 256) var e error CheckError(atlas.LoadImageID("./data/spaceCookies/Ship1.png", SpaceShip_A)) CheckError(atlas.LoadImageID("./data/spaceCookies/missile.png", Missle_A)) e, Explosion_ID = atlas.LoadGroupSheet("./data/spaceCookies/Explosion.png", 128, 128, 6*8) CheckError(e) CheckError(atlas.LoadImageID("./data/spaceCookies/HealthBar.png", HP_A)) CheckError(atlas.LoadImageID("./data/spaceCookies/HealthBarGUI.png", HPGUI_A)) CheckError(atlas.LoadImageID("./data/spaceCookies/Queen.png", Queen_A)) CheckError(atlas.LoadImageID("./data/spaceCookies/Jet.png", Jet_A)) atlas.BuildAtlas() atlas.BuildMipmaps() atlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) atlas.Texture.SetReadOnly() boxt, e = engine.LoadTexture("./data/spaceCookies/wall.png") boxt.BuildMipmaps() boxt.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) backgroung, e = engine.LoadTexture("./data/spaceCookies/background.png") CheckError(e) cir, e = engine.LoadTexture("./data/spaceCookies/Cookie.png") CheckError(e) cir.BuildMipmaps() cir.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) backgroung.BuildMipmaps() backgroung.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) CheckError(atlasSpace.LoadGroup("./data/spaceCookies/Space/")) atlasSpace.BuildAtlas() atlasSpace.BuildMipmaps() atlasSpace.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) atlasSpace.Texture.SetReadOnly() e, PowerUps_ID = atlasPowerUp.LoadGroupSheet("./data/spaceCookies/powerups.png", 61, 61, 3*4) CheckError(e) atlasPowerUp.BuildAtlas() atlasPowerUp.SetFiltering(engine.Linear, engine.Linear) ArialFont, e = engine.NewFont("./data/Fonts/arial.ttf", 48) if e != nil { panic(e) } ArialFont.Texture.SetReadOnly() ArialFont2, e = engine.NewFont("./data/Fonts/arial.ttf", 24) if e != nil { panic(e) } ArialFont2.Texture.SetReadOnly() }
func (s *GameScene) Load() { ArialFont, err := engine.NewFont("./data/Fonts/arial.ttf", 48) if err != nil { panic(err) } ArialFont2, err := engine.NewFont("./data/Fonts/arial.ttf", 24) if err != nil { panic(err) } _ = ArialFont2 _ = ArialFont GameSceneGeneral = s s.Camera = engine.NewCamera() cam := engine.NewGameObject("Camera") cam.AddComponent(s.Camera) cam.AddComponent(NewCameraCtl(100)) cam.Transform().SetScalef(1, 1) gui := engine.NewGameObject("GUI") Layer1 := engine.NewGameObject("Layer1") Layer2 := engine.NewGameObject("Layer2") Layer3 := engine.NewGameObject("Layer3") s.Layer1 = Layer1 s.Layer2 = Layer2 s.Layer3 = Layer3 mouse := engine.NewGameObject("Mouse") mouse.AddComponent(NewMouseDebugger()) mouse.AddComponent(engine.NewMouse()) mouse.Transform().SetParent2(cam) FPSDrawer := engine.NewGameObject("FPS") txt := FPSDrawer.AddComponent(components.NewUIText(ArialFont2, "")).(*components.UIText) fps := FPSDrawer.AddComponent(engine.NewFPS()).(*engine.FPS) txt.SetAlign(engine.AlignLeft) fps.SetAction(func(fps float64) { txt.SetString("FPS: " + strconv.FormatFloat(fps, 'f', 2, 32)) }) FPSDrawer.Transform().SetParent2(cam) FPSDrawer.Transform().SetPositionf(-float32(engine.Width)/2+10, +float32(engine.Height)/2-20) FPSDrawer.Transform().SetScalef(20, 20) { FPSDrawer := engine.NewGameObject("Counter") txt := FPSDrawer.AddComponent(components.NewUIText(ArialFont2, "")).(*components.UIText) txt.SetAlign(engine.AlignLeft) bt.Start(func() bt.Command { txt.SetString(fmt.Sprintf("Bodies: %d", len(engine.Space.Bodies))) return bt.Restart }) FPSDrawer.Transform().SetParent2(cam) FPSDrawer.Transform().SetPositionf(-float32(engine.Width)/2+10, +float32(engine.Height)/2-45) FPSDrawer.Transform().SetScalef(20, 20) } //SPACCCEEEEE engine.Space.Gravity.Y = -300 engine.Space.Iterations = 10 atlas := engine.NewManagedAtlas(512, 512) e := atlas.LoadGroup("./data/fire") if e != nil { fmt.Println(e) } e = atlas.LoadGroup("./data/Charecter") if e != nil { fmt.Println(e) } err, rectID := atlas.LoadImage("./data/rect.png") if err != nil { panic(err) } err, circleID := atlas.LoadImage("./data/circle.png") if err != nil { panic(err) } atlas.BuildAtlas() atlas.BuildMipmaps() atlas.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) uvsFire, indFire := engine.AnimatedGroupUVs(atlas, "fire") _ = uvsFire _ = indFire clone2 := engine.NewGameObject("Sprite") s2 := clone2.AddComponent(engine.NewSprite3(atlas.Texture, uvsFire)).(*engine.Sprite) s2.BindAnimations(indFire) s2.AnimationSpeed = 6 clone2.Transform().SetPositionf(775, 300) clone2.Transform().SetScalef(58, 58) clone2.Transform().SetParent2(Layer1) f := clone2.Clone() f.Transform().SetPositionf(25, 300) f.Transform().SetParent2(Layer1) box, _ = engine.LoadTexture("./data/rect.png") cir, _ = engine.LoadTexture("./data/circle.png") cir.BuildMipmaps() cir.SetFiltering(engine.MipMapLinearNearest, engine.Nearest) ball := engine.NewGameObject("Ball") ball.AddComponent(engine.NewSprite2(atlas.Texture, engine.IndexUV(atlas, circleID))) ball.Transform().SetScalef(30, 30) ball.AddComponent(engine.NewPhysicsShape(false, chipmunk.NewCircle(vect.Vect{0, 0}, 15))) ball.Physics.Body.SetMass(10) ball.Physics.Body.SetMoment(ball.Physics.Shape.Moment(10)) ball.Physics.Shape.SetFriction(0.8) ball.Physics.Shape.SetElasticity(0.8) for i := 0; i < 0; i++ { sprite3 := engine.NewGameObject("Sprite" + fmt.Sprint(i)) sprite3.AddComponent(engine.NewSprite2(atlas.Texture, engine.IndexUV(atlas, rectID))) sprite3.Transform().SetParent2(Layer2) sprite3.Transform().SetRotationf(180) sprite3.Transform().SetPositionf(160, 120+float32(i*31)) sprite3.Transform().SetScalef(30, 30) phx := sprite3.AddComponent(engine.NewPhysics(false)).(*engine.Physics) phx.Shape.SetFriction(1) phx.Shape.SetElasticity(0.0) phx.Body.SetMass(1) } for i := 0; i < 200; i++ { sprite3 := ball.Clone() sprite3.Transform().SetParent2(Layer2) sprite3.Transform().SetPositionf(200+float32(i%4)*25, float32(i*30)+120) } floor := engine.NewGameObject("Floor") floor.AddComponent(engine.NewSprite(box)) floor.AddComponent(engine.NewPhysics(true)) floor.Transform().SetParent2(Layer2) floor.Transform().SetPositionf(100, -20) floor.Transform().SetScalef(10000, 100) floor.Physics.Shape.SetFriction(1) floor.Physics.Shape.SetElasticity(1) floor2 := floor.Clone() floor2.Transform().SetParent2(Layer2) floor2.Transform().SetPositionf(800, -20) floor2.Transform().SetRotationf(90) floor3 := floor2.Clone() floor3.Transform().SetParent2(Layer2) floor3.Transform().SetPositionf(0, -20) uvs2, ind := engine.AnimatedGroupUVs(atlas, "stand", "walk") _ = uvs2 _ = ind sprite4 := engine.NewGameObject("Sprite") sprite := sprite4.AddComponent(engine.NewSprite3(atlas.Texture, uvs2)).(*engine.Sprite) sprite.BindAnimations(ind) //sprite4.AddComponent(NewSprite(sp)) sprite.AnimationSpeed = 5 player := sprite4.AddComponent(NewPlayerController()).(*PlayerController) //sprite4.AddComponent(NewRotator()) ph := sprite4.AddComponent(engine.NewPhysics(false)).(*engine.Physics) player.Fire = clone2 sprite4.Transform().SetParent2(Layer1) sprite4.Transform().SetPositionf(900, 100) sprite4.Transform().SetScalef(100, 100) ph.Body.SetMass(100) ph.Body.IgnoreGravity = false ph.Body.SetMoment(engine.Inf) ph.Shape.SetFriction(1) ph.Shape.SetElasticity(0) /* floor = NewGameObject("Box") bbBox := NewSprite(box) floor.AddComponent(bbBox) phx = floor.AddComponent(NewPhysics(true, 500, 500)).(*Physics) floor.Transform().SetParent2(Layer2) floor.Transform().SetPosition(NewVector2(900, 200)) floor.Transform().SetScale(NewVector2(500, 500)) phx.Shape.SetFriction(1) phx.Shape.SetElasticity(1) phx.Shape.IsSensor = true //phx.Shape.Friction = 1 _ = phx */ //sShadow.Sprite = bbBox // { sprite3 := ball.Clone() sprite3.Transform().SetParent2(Layer2) sprite3.Transform().SetPositionf(200, 120) joint := chipmunk.NewPivotJoint(mouse.Physics.Body, sprite3.Physics.Body) joint.MaxForce = 5000000 //mouseJoint->errorBias = cpfpow(1.0f - 0.15f, 60.0f); engine.Space.AddConstraint(joint) } cam.Transform().SetWorldPosition(player.Transform().WorldPosition()) s.AddGameObject(cam) s.AddGameObject(gui) s.AddGameObject(Layer1) s.AddGameObject(Layer2) s.AddGameObject(Layer3) //s.AddGameObject(shadowShader) fmt.Println("Scene loaded") }