// Public functions. public Player(Scene scene) { textureInfo = new TextureInfo(new Texture2D("/Application/assets/player-spritemap.png", false), new Vector2i(13, 1)); sprite = new SpriteTile(textureInfo); sprite.Position = new Vector2(AppMain.ScreenWidth * .2f, AppMain.ScreenHeight * .5f); sprite.Quad.S = textureInfo.TileSizeInPixelsf; sprite.CenterSprite(TRS.Local.Center); // Player variables isAlive = true; moveState = MoveStatus.Disabled; rotateAngle = .0f; // Attach update fucntion to scheduler sprite.Schedule(Update); // Create animation function sprite.ScheduleInterval((dt) => { if (IsAlive) { int tileIndex = sprite.TileIndex1D < 8 ? sprite.TileIndex1D + 1 : 1; sprite.TileIndex1D = tileIndex; } }, 0.2f); sprite.ScheduleInterval((dt) => { if (!IsAlive) { int tileIndex = sprite.TileIndex1D < 12 ? sprite.TileIndex1D + 1 : 12; sprite.TileIndex1D = tileIndex; } }, 0.16f); // Add to the current scene. scene.AddChild(sprite); }
public void initTitle() { this.Camera2D.SetViewFromViewport(); logo = new SpriteUV(new TextureInfo("/Application/data/logo.png")); logo.Scale = logo.TextureInfo.TextureSizef * 1.8f; logo.Pivot = new Vector2(0.5f, 0.5f); logo.Position = new Vector2((960.0f / 2.0f), (540.0f / 2.0f) + 80f); sprite_button_newgame = new SpriteUV(new TextureInfo("/Application/data/button_newgame.png")); sprite_button_newgame.Scale = sprite_button_newgame.TextureInfo.TextureSizef * 1.2f; sprite_button_newgame.Position = new Vector2((960.0f / 5.0f), (540.0f / 4.0f) - sprite_button_newgame.TextureInfo.TextureSizef.Y / 2.0f); sprite_button_tutorial = new SpriteUV(new TextureInfo("/Application/data/button_tutorial.png")); sprite_button_tutorial.Scale = sprite_button_newgame.TextureInfo.TextureSizef * 1.2f; sprite_button_tutorial.Position = new Vector2((960.0f / 2.0f), (540.0f / 4.0f) - sprite_button_newgame.TextureInfo.TextureSizef.Y / 2.0f); sprite_button_autoaim = new SpriteUV(new TextureInfo("/Application/data/button_autoaimon.png")); sprite_button_autoaim.Scale = sprite_button_newgame.TextureInfo.TextureSizef * 1.2f; sprite_button_autoaim.Position = new Vector2((960.0f / 2.0f) + (960.0f / 3.5f), (540.0f / 4.0f) - sprite_button_newgame.TextureInfo.TextureSizef.Y / 2.0f); sprite_button_newgame.Pivot = new Vector2(0.5f, 0.5f); sprite_button_autoaim.Pivot = new Vector2(0.5f, 0.5f); sprite_button_tutorial.Pivot = new Vector2(0.5f, 0.5f); Foreground.AddChild(sprite_button_newgame); Foreground.AddChild(sprite_button_tutorial); Foreground.AddChild(sprite_button_autoaim); Foreground.AddChild(logo); var tex = new Texture2D("/Application/data/tiles/simple5.png", false); var texture = new TextureInfo(tex, new Vector2i(1, 13)); menuBackground = new SpriteList(texture); int menuBackgroundWidth = 100; int menuBackgroundHeight = 50; //mini background discofloor for (int x = 0; x < 30; x++) { for (int y = 0; y < 17; y++) { SpriteTile bgTile = new SpriteTile(texture); bgTile.TileIndex1D = Support.random.Next(4, 13); bgTile.Position = new Vector2((float)x * 32.0f, (float)y * 32.0f); bgTile.Scale = bgTile.TextureInfo.TileSizeInPixelsf * 2.0f; bgTile.ScheduleInterval((dt) => { bgTile.TileIndex1D = Support.random.Next(4, 13); }, 0.2f, -1); menuBackground.AddChild(bgTile); } } Background.AddChild(menuBackground); }
public void initLevelSelect() { this.levelSelection = 0; this.Camera2D.SetViewFromViewport(); //labels labels = new List <Support.CustomLabel> (); //mini background discofloor var tex = new Texture2D("/Application/data/tiles/simple5.png", false); var texture = new TextureInfo(tex, new Vector2i(1, 13)); var menuBackground = new SpriteList(texture); for (int x = 0; x < 30; x++) { for (int y = 0; y < 17; y++) { SpriteTile bgTile = new SpriteTile(texture); bgTile.TileIndex1D = Support.random.Next(4, 13); bgTile.Position = new Vector2((float)x * 32.0f, (float)y * 32.0f); bgTile.Scale = bgTile.TextureInfo.TileSizeInPixelsf * 2.0f; bgTile.ScheduleInterval((dt) => { bgTile.TileIndex1D = Support.random.Next(4, 13); }, 0.2f, -1); menuBackground.AddChild(bgTile); } } Background.AddChild(menuBackground); for (int i = 0; i < MapManager.Instance.predefinedMaps.Count; i++) { //add thumbnail float newX = 960.0f / 2.0f + i * (thumbnailSize + thumbnailSpacing); float scaleFactor = FMath.Clamp(thumbnailSize - FMath.Abs((960.0f / 2.0f) - newX) / 4.0f, 0.0f, thumbnailSize); MapManager.Instance.predefinedMaps [i].thumbnailSprite.Scale = new Vector2(scaleFactor, scaleFactor); MapManager.Instance.predefinedMaps [i].thumbnailSprite.Position = new Vector2(newX, 544.0f / 2.0f); Foreground.AddChild(MapManager.Instance.predefinedMaps [i].thumbnailSprite); //add label: var tempLabel = new Support.CustomLabel(new Vector2(newX, 544.0f / 2.0f - thumbnailSize * 0.6f), "Level " + (i + 1) + "\nHighscore: 0", SceneManager.UIFontMap); labels.Add(tempLabel); Foreground.AddChild(tempLabel); } }
public BlackHole() : base() { textureInfo = new TextureInfo(new Texture2D("/Application/textures/Level/BlackHoles.png", false), new Vector2i(4, 1)); sprite = new SpriteTile(textureInfo); sprite.Quad.S = textureInfo.TileSizeInPixelsf; //sprite.Pivot = new Vector2(sprite.Quad.S.X/2, sprite.Quad.S.Y/2); tileIndex = 0; sprite.ScheduleInterval((dt) => { if (tileIndex >= 4) { tileIndex = 0; } sprite.TileIndex2D = new Vector2i(tileIndex, 0); tileIndex++; }, 0.10f); }
public LevelFlag() : base() { textureInfo = new TextureInfo(new Texture2D("/Application/textures/Level/levelFlag.png", false), new Vector2i(4, 1)); sprite = new SpriteTile(textureInfo); sprite.Quad.S = textureInfo.TileSizeInPixelsf; sprite.Scale = new Vector2(1.7f, 1.7f); tileIndex = 0; sprite.ScheduleInterval((dt) => { if (tileIndex >= 4) { tileIndex = 0; } sprite.TileIndex2D = new Vector2i(tileIndex, 0); tileIndex++; }, 0.12f); }
public LaserGate(int random) : base() { textureInfo = new TextureInfo(new Texture2D("/Application/textures/Level/LaserBeams.png", false), new Vector2i(18, 1)); sprite = new SpriteTile(textureInfo); sprite.Quad.S = textureInfo.TileSizeInPixelsf; //sprite.Pivot = new Vector2(sprite.Quad.S.X/2, sprite.Quad.S.Y/2); tileIndex = random; sprite.ScheduleInterval((dt) => { if (tileIndex >= 18) { tileIndex = 0; } sprite.TileIndex2D = new Vector2i(tileIndex, 0); tileIndex++; }, 0.10f); }
public Gem() : base() { textureInfo = new TextureInfo(new Texture2D("/Application/textures/Level/gem.png", false), new Vector2i(8, 1)); sprite = new SpriteTile(textureInfo); sprite.Quad.S = textureInfo.TileSizeInPixelsf; tileIndex = 0; scoreValue = 200; sprite.ScheduleInterval((dt) => { if (tileIndex >= 6) { tileIndex = 0; } sprite.TileIndex2D = new Vector2i(tileIndex, 0); tileIndex++; }, 0.12f); }