/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); mSpriteSheet1.Load("Demos/DemoReel/Sprites"); mSpriteSheet1.grid = new SpriteGrid(new Vector2i(16, 16)); RB.SpriteSheetSet(mSpriteSheet1); mMap.Load("Demos/DemoReel/Tilemap"); if (mMap != null) { mMapSize = mMap.size; mMap.LoadLayer("Clouds", 0); mMap.LoadLayer("Decoration", 1); mMap.LoadLayer("Terrain", 2); RB.MapLayerSpriteSheetSet(0, mSpriteSheet1); RB.MapLayerSpriteSheetSet(1, mSpriteSheet1); RB.MapLayerSpriteSheetSet(2, mSpriteSheet1); } if (mStyle == RB.PixelStyle.Wide) { RB.DisplayModeSet(new Vector2i(640 / 2, 360), mStyle); } else { RB.DisplayModeSet(new Vector2i(640, 360 / 2), mStyle); } }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); RB.SpriteSheetSetup(0, "Demos/DemoReel/Sprites", new Vector2i(16, 16)); RB.SpriteSheetSet(0); RB.SpriteSheetSetup(1, "Demos/DemoReel/Ghost", new Vector2i(104, 106)); mMap = RB.MapLoadTMX("Demos/DemoReel/Tilemap"); if (mMap != null) { RB.MapLoadTMXLayer(mMap, "Decoration", 0); RB.MapLoadTMXLayer(mMap, "Terrain", 1); RB.MapLayerSpriteSheetSet(0, 0); RB.MapLayerSpriteSheetSet(1, 0); } var demo = (DemoReel)RB.Game; RB.ShaderSetup(0, "Demos/DemoReel/WavyMaskShader"); RB.SpriteSheetSetup(2, RB.DisplaySize); RB.SpriteSheetSetup(3, RB.DisplaySize); mBouncePos = new Vector2(RB.DisplaySize.width * 0.5f, RB.DisplaySize.height * 0.55f); mVelocity = mSpeed; }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); spriteSheet1.Load("Demos/DemoReel/Sprites"); spriteSheet1.grid = new SpriteGrid(new Vector2i(16, 16)); spriteSheet2.Load("Demos/DemoReel/Ghost"); spriteSheet2.grid = new SpriteGrid(new Vector2i(104, 106)); RB.SpriteSheetSet(spriteSheet1); mMap.Load("Demos/DemoReel/Tilemap"); if (mMap != null) { mMap.LoadLayer("Decoration", 0); mMap.LoadLayer("Terrain", 1); RB.MapLayerSpriteSheetSet(0, spriteSheet1); RB.MapLayerSpriteSheetSet(1, spriteSheet1); } var demo = (DemoReel)RB.Game; shader1.Load("Demos/DemoReel/WavyMaskShader"); spriteSheet3.Create(RB.DisplaySize); spriteSheet4.Create(RB.DisplaySize); mBouncePos = new Vector2(RB.DisplaySize.width * 0.5f, RB.DisplaySize.height * 0.55f); mVelocity = mSpeed; }
public Assets() { TerrainSprites.Load("Sprites/Terrain/TerrainSprites", SpriteSheetAsset.SheetType.SpritePack); TerrainSprites.grid = new SpriteGrid(new Vector2i(C.TILE_SIZE, C.TILE_SIZE)); RB.MapLayerSpriteSheetSet((int)MapLayers.TERRAIN, TerrainSprites); CharacterSprites.Load("Sprites/Characters/CharacterSprites", SpriteSheetAsset.SheetType.SpritePack); CharacterSprites.grid = new SpriteGrid(new Vector2i(C.TILE_SIZE, C.TILE_SIZE)); RB.MapLayerSpriteSheetSet((int)MapLayers.ENEMIES, CharacterSprites); RB.MapLayerSpriteSheetSet((int)MapLayers.PLAYER, CharacterSprites); /* * var gameFont = new FontAsset(); * FontSprites.Load("Sprites/Font/FontSprites", SpriteSheetAsset.SheetType.SpritePack); * var chars = new List<char>() * { * {'A'},{'B'},{'C'} * }; * var glyphs = new List<string>() * { * {"Unicode30FF"},{"Unicode30A0"},{"@"} * }; * GameFont = new FontAsset(); * GameFont.Setup(chars, glyphs, FontSprites, 0, 0, false); */ }
private bool LoadMap() { mTitleMap.Load("Demos/SuperFlagRun/TitleMap"); mGameMap.Load("Demos/SuperFlagRun/GameMap"); if (mTitleMap != null && mTitleMap.status == RB.AssetStatus.Ready) { mTitleMap.LoadLayer("Terrain", SuperFlagRun.MAP_LAYER_TITLE_TERRAIN); mTitleMap.LoadLayer("Deco", SuperFlagRun.MAP_LAYER_TITLE_DECO); mTitleMap.LoadLayer("Sky", SuperFlagRun.MAP_LAYER_TITLE_SKY); } if (mGameMap != null) { mGameMap.LoadLayer("Sky", SuperFlagRun.MAP_LAYER_SKY); mGameMap.LoadLayer("Clouds", SuperFlagRun.MAP_LAYER_CLOUDS); mGameMap.LoadLayer("Terrain", SuperFlagRun.MAP_LAYER_TERRAIN); mGameMap.LoadLayer("Background", SuperFlagRun.MAP_LAYER_BACKGROUND); } RB.MapLayerSpriteSheetSet(SuperFlagRun.MAP_LAYER_TITLE_TERRAIN, assets.spriteSheetTerrain); RB.MapLayerSpriteSheetSet(SuperFlagRun.MAP_LAYER_TITLE_DECO, assets.spriteSheetDeco); RB.MapLayerSpriteSheetSet(SuperFlagRun.MAP_LAYER_TITLE_SKY, assets.spriteSheetDeco); RB.MapLayerSpriteSheetSet(SuperFlagRun.MAP_LAYER_SKY, assets.spriteSheetDeco); RB.MapLayerSpriteSheetSet(SuperFlagRun.MAP_LAYER_CLOUDS, assets.spriteSheetDeco); RB.MapLayerSpriteSheetSet(SuperFlagRun.MAP_LAYER_TERRAIN, assets.spriteSheetTerrain); RB.MapLayerSpriteSheetSet(SuperFlagRun.MAP_LAYER_BACKGROUND, assets.spriteSheetDeco); RB.SpriteSheetSet(assets.spriteSheetTerrain); if (mGameMap != null) { mGameMapSize = mGameMap.size; // Convert TMXProperties to simple ColliderInfo.ColliderType, for faster access for (int x = 0; x < mGameMapSize.width; x++) { for (int y = 0; y < mGameMapSize.height; y++) { var tilePos = new Vector2i(x, y); var tileProps = RB.MapDataGet <TMXMapAsset.TMXProperties>(MAP_LAYER_TERRAIN, tilePos); if (tileProps != null) { RB.MapDataSet <ColliderInfo.ColliderType>(MAP_LAYER_TERRAIN, tilePos, (ColliderInfo.ColliderType)tileProps.GetInt("ColliderType")); } else { RB.MapDataSet <ColliderInfo.ColliderType>(MAP_LAYER_TERRAIN, tilePos, ColliderInfo.ColliderType.NONE); } } } } return(true); }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); mSpriteSheet1.Load("Demos/DemoReel/Sprites"); mSpriteSheet1.grid = new SpriteGrid(new Vector2i(16, 16)); RB.SpriteSheetSet(mSpriteSheet1); mMap.Load("Demos/DemoReel/Tilemap"); RB.MapLayerSpriteSheetSet(0, mSpriteSheet1); mMap.LoadLayer("Clouds", 1, mSpriteSheet1); mMap.LoadLayer("Decoration", 2, mSpriteSheet1); mMap.LoadLayer("Terrain", 3, mSpriteSheet1); }
/// <summary> /// Initialize your game here. /// </summary> /// <returns>Return true if successful</returns> public bool Initialize() { assets.LoadAll(); // You can load a spritesheet here RB.SpriteSheetSet(assets.spriteSheet); RB.EffectSet(RB.Effect.Scanlines, 0.5f); EntityFunctions.Initialize(); S.InitializeAnims(); SoundSerializer.Initialize(); InitializeNewGame.InitializeConstants(); RenderFunctions.Initialize(); mSceneGame = new SceneGame(); mSceneMainMenu = new SceneMainMenu(); mSceneMessage = new SceneMessage(); // Generate tile grid, this is a one time operation, we can keep reusing the grid var gridColor = Color.white; for (int x = 0; x < RB.MapSize.width; x++) { for (int y = 0; y < RB.MapSize.height; y++) { RB.MapSpriteSet(C.LAYER_GRID, new Vector2i(x, y), S.GRID, gridColor); } } ChangeScene(SceneEnum.MAIN_MENU); RB.MapLayerSpriteSheetSet(C.LAYER_GRID, assets.spriteSheet); RB.MapLayerSpriteSheetSet(C.LAYER_TERRAIN, assets.spriteSheet); RB.MapLayerSpriteSheetSet(C.LAYER_VISIBILITY, assets.spriteSheet); // Collect any garbage created during initilization to avoid a performance hiccup later. System.GC.Collect(); return(true); }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); mSpriteSheet1.Load("Demos/DemoReel/Sprites"); mSpriteSheet1.grid = new SpriteGrid(new Vector2i(16, 16)); RB.SpriteSheetSet(mSpriteSheet1); RB.EffectReset(); mMap.Load("Demos/DemoReel/Tilemap"); RB.MapLayerSpriteSheetSet(0, mSpriteSheet1); RB.MapLayerSpriteSheetSet(1, mSpriteSheet1); RB.MapLayerSpriteSheetSet(2, mSpriteSheet1); if (mMap != null) { mMapSize = mMap.size; mMap.LoadLayer("Clouds", 0); mMap.LoadLayer("Decoration", 1); mMap.LoadLayer("Terrain", 2); } mEffectNames[(int)RB.Effect.Scanlines] = "Scanlines"; mEffectNames[(int)RB.Effect.Noise] = "Noise"; mEffectNames[(int)RB.Effect.Desaturation] = "Desaturation"; mEffectNames[(int)RB.Effect.Curvature] = "Curvature"; mEffectNames[(int)RB.Effect.Slide] = "Slide"; mEffectNames[(int)RB.Effect.Wipe] = "Wipe"; mEffectNames[(int)RB.Effect.Shake] = "Shake"; mEffectNames[(int)RB.Effect.Zoom] = "Zoom"; mEffectNames[(int)RB.Effect.Rotation] = "Rotation"; mEffectNames[(int)RB.Effect.ColorFade] = "ColorFade"; mEffectNames[(int)RB.Effect.ColorTint] = "ColorTint"; mEffectNames[(int)RB.Effect.Negative] = "Negative"; mEffectNames[(int)RB.Effect.Pixelate] = "Pixelate"; mEffectNames[(int)RB.Effect.Pinhole] = "Pinhole"; mEffectNames[(int)RB.Effect.InvertedPinhole] = "InvertedPinhole"; mEffectNames[(int)RB.Effect.Fizzle] = "Fizzle"; }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); mSpriteSheet1.Load("Demos/DemoReel/SpritesSmall"); mSpriteSheet1.grid = new SpriteGrid(new Vector2i(8, 8)); mSpriteSheet2.Load("Demos/DemoReel/WaterSmall"); mSpriteSheet2.grid = new SpriteGrid(new Vector2i(8, 8)); mCameraPos = Vector2i.zero; mChunkCameraPos = Vector2i.zero; mTopLeftChunk = new Vector2i(-100000, 100000); RB.MapClear(); mMap.Load("Demos/DemoReel/TilemapInfinite"); RB.MapLayerSpriteSheetSet(0, mSpriteSheet1); mClipRect = new Rect2i(16, 4 + 219, 400, (16 * 8) + 2); mCameraPos = Vector2i.zero; }
public void loadMapFiles(string mapName) { Vector2i mapDestPos = new Vector2i(0, 0); Vector2i sourceChunkPos = new Vector2i(0, 0); // Load map var map = RB.MapLoadTMX(mapName); string path = "Assets/RetroBlit/Resources/map/map-data.json"; StreamReader reader = new StreamReader(path); String rawmapdata = reader.ReadToEnd(); reader.Close(); // Load json map info and iterate through each object loading the layers from top to bottom //TODO LayerMaps layerMaps = Mapper.deserialize <LayerMaps>(rawmapdata); foreach (LayerMap m in layerMaps.allMaps) { RB.MapLoadTMXLayer(map, m.map_layer_name, m.layer); RB.SpriteSheetSetup(m.layer, m.sprite_sheet, new Vector2i(32, 32)); RB.MapLayerSpriteSheetSet(m.layer, m.layer); } var objects = map.objectGroups[layerMaps.objectLayerName].objects; foreach (var curObj in objects) { // Make a new badguy for this object BadGuy curBadGuy = new BadGuy(curObj.rect.x, curObj.rect.y); curBadGuy.size = new Vector2i(16, 16); badGuys.Add(curBadGuy); } // You can load a spritesheet here RB.SpriteSheetSetup(0, "MyGame/MySprites", new Vector2i(16, 16)); RB.SpriteSheetSet(0); mapLayers = layerMaps.allMaps; mapSize = map.size * 32; }
/// <summary> /// Create the background pattern using random background tiles, and wall frame tiles /// </summary> private void MakeBackground() { var game = (BrickBustGame)RB.Game; Vector2i topLeft = new Vector2i(0, 2); Vector2i topRight = new Vector2i(RB.DisplaySize.width / game.assets.spriteSheet.grid.cellSize.width, 2); Vector2i bottomLeft = new Vector2i(0, RB.DisplaySize.height / game.assets.spriteSheet.grid.cellSize.height); // Background for (int x = topLeft.x; x <= topRight.x; x++) { for (int y = topLeft.y + 1; y <= bottomLeft.y; y++) { RB.MapSpriteSet(0, new Vector2i(x, y), RB.SpriteIndex(UnityEngine.Random.Range(0, 4), 3)); } } // Frame // Horizontal for (int x = topLeft.x + 1; x < topRight.x; x++) { RB.MapSpriteSet(1, new Vector2i(x, topLeft.y), RB.SpriteIndex(4, 3), RB.ROT_90_CW); } // Vertical for (int y = topLeft.y + 1; y <= bottomLeft.y; y++) { RB.MapSpriteSet(1, new Vector2i(topLeft.x, y), RB.SpriteIndex(4, 3)); RB.MapSpriteSet(1, new Vector2i(topRight.x, y), RB.SpriteIndex(4, 3)); } // Corners RB.MapSpriteSet(1, topLeft, RB.SpriteIndex(6, 3)); RB.MapSpriteSet(1, topRight, RB.SpriteIndex(6, 3), RB.FLIP_H); RB.MapLayerSpriteSheetSet(0, game.assets.spriteSheet); RB.MapLayerSpriteSheetSet(1, game.assets.spriteSheet); }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); mSpriteSheet1.Load("Demos/DemoReel/Sprites"); mSpriteSheet1.grid = new SpriteGrid(new Vector2i(16, 16)); RB.SpriteSheetSet(mSpriteSheet1); RB.EffectReset(); mMap.Load("Demos/DemoReel/Tilemap"); if (mMap != null) { mMap.LoadLayer("Decoration", 0); mMap.LoadLayer("Terrain", 1); RB.MapLayerSpriteSheetSet(0, mSpriteSheet1); RB.MapLayerSpriteSheetSet(1, mSpriteSheet1); } mShader1.Load("Demos/DemoReel/PresentRippleShader"); }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); spriteSheet1.Load("Demos/DemoReel/Sprites"); spriteSheet1.grid = new SpriteGrid(new Vector2i(16, 16)); spriteSheet2.Load("Demos/DemoReel/Water"); spriteSheet2.grid = new SpriteGrid(new Vector2i(16, 16)); mMap.Load("Demos/DemoReel/TilemapOcean"); if (mMap != null) { mMap.LoadLayer("Clouds", 1); mMap.LoadLayer("Terrain", 2); mMap.LoadLayer("Fish", 3); RB.MapLayerSpriteSheetSet(1, spriteSheet1); RB.MapLayerSpriteSheetSet(2, spriteSheet1); RB.MapLayerSpriteSheetSet(3, spriteSheet1); } }
/// <summary> /// Handle scene entry /// </summary> public override void Enter() { base.Enter(); RB.SpriteSheetSetup(0, "Demos/DemoReel/DemoSpritePack", new Vector2i(16, 16)); RB.SpriteSheetSetup(1, "Demos/DemoReel/Sprites", new Vector2i(16, 16)); RB.SpriteSheetSetup(2, "Demos/DemoReel/DemoSpritePack", new Vector2i(8, 8)); RB.SpriteSheetSet(0); mSpriteHero1 = RB.PackedSpriteGet("Characters/Hero1"); mSpriteHero2 = RB.PackedSpriteGet("Characters/Hero2"); mSpriteDirtCenter = RB.PackedSpriteGet("Terrain/DirtCenter"); mSpriteDirtSide = RB.PackedSpriteGet("Terrain/DirtSide"); mSpriteGrassTop = RB.PackedSpriteGet("Terrain/GrassTop"); mSpriteGrassTopRight = RB.PackedSpriteGet("Terrain/GrassTopRight"); mSpriteWater = RB.PackedSpriteGet("Terrain/Water"); if (mSpriteHero1.Size.x == 0) { mBadSpritepack = true; return; } RB.MapSpriteSet(0, new Vector2i(0, 0), mSpriteGrassTopRight, RB.FLIP_H); RB.MapSpriteSet(0, new Vector2i(1, 0), mSpriteGrassTop); RB.MapSpriteSet(0, new Vector2i(2, 0), mSpriteGrassTop); RB.MapSpriteSet(0, new Vector2i(3, 0), mSpriteGrassTopRight); RB.MapSpriteSet(0, new Vector2i(0, 1), mSpriteDirtSide, RB.FLIP_H); RB.MapSpriteSet(0, new Vector2i(1, 1), mSpriteDirtCenter); RB.MapSpriteSet(0, new Vector2i(2, 1), mSpriteDirtCenter); RB.MapSpriteSet(0, new Vector2i(3, 1), mSpriteDirtSide); mNineSlice = new NineSlice("Other/NinesliceTopLeft", "Other/NinesliceTop", "Other/NinesliceMiddle"); var glyphs = new List <string>(); for (int i = 0; i <= 9; i++) { glyphs.Add("Font/" + i); } glyphs.Add("Font/colon"); List <char> chars = new List <char>(); for (char c = '0'; c <= '9'; c++) { chars.Add(c); } chars.Add(':'); RB.FontSetup(0, chars, glyphs, 0, 1, 1, true); var mapping = new string[16]; for (int i = 0; i < 16; i++) { mapping[i] = "Terrain/Tiny" + i; } var tinyMap = RB.MapLoadTMX("Demos/DemoReel/TinyMap"); RB.MapLoadTMXLayer(tinyMap, "Terrain", 1, mapping); RB.MapLayerSpriteSheetSet(1, 2); }
/// <summary> /// Update /// </summary> public override void Update() { base.Update(); if (spriteSheet1.status == RB.AssetStatus.Ready && spriteSheet2.status == RB.AssetStatus.Ready && spriteSheet3.status == RB.AssetStatus.Ready && !mSpritePackPostLoadDone) { RB.SpriteSheetSet(spriteSheet1); mSpriteHero1 = RB.PackedSpriteGet("Characters/Hero1"); mSpriteHero2 = RB.PackedSpriteGet("Characters/Hero2"); mSpriteDirtCenter = RB.PackedSpriteGet("Terrain/DirtCenter"); mSpriteDirtSide = RB.PackedSpriteGet("Terrain/DirtSide"); mSpriteGrassTop = RB.PackedSpriteGet("Terrain/GrassTop"); mSpriteGrassTopRight = RB.PackedSpriteGet("Terrain/GrassTopRight"); mSpriteWater = RB.PackedSpriteGet("Terrain/Water"); RB.MapSpriteSet(0, new Vector2i(0, 0), mSpriteGrassTopRight, RB.FLIP_H); RB.MapSpriteSet(0, new Vector2i(1, 0), mSpriteGrassTop); RB.MapSpriteSet(0, new Vector2i(2, 0), mSpriteGrassTop); RB.MapSpriteSet(0, new Vector2i(3, 0), mSpriteGrassTopRight); RB.MapSpriteSet(0, new Vector2i(0, 1), mSpriteDirtSide, RB.FLIP_H); RB.MapSpriteSet(0, new Vector2i(1, 1), mSpriteDirtCenter); RB.MapSpriteSet(0, new Vector2i(2, 1), mSpriteDirtCenter); RB.MapSpriteSet(0, new Vector2i(3, 1), mSpriteDirtSide); RB.MapLayerSpriteSheetSet(0, spriteSheet1); mNineSlice = new NineSlice("Other/NinesliceTopLeft", "Other/NinesliceTop", "Other/NinesliceMiddle"); var glyphs = new List <string>(); for (int i = 0; i <= 9; i++) { glyphs.Add("Font/" + i); } glyphs.Add("Font/colon"); List <char> chars = new List <char>(); for (char c = '0'; c <= '9'; c++) { chars.Add(c); } chars.Add(':'); font.Setup(chars, glyphs, spriteSheet1, 1, 1, true); var mapping = new string[16]; for (int i = 0; i < 16; i++) { mapping[i] = "Terrain/Tiny" + i; } mMap.Load("Demos/DemoReel/TinyMap"); mMap.LoadLayer("Terrain", 1, mapping); RB.MapLayerSpriteSheetSet(1, spriteSheet3); mSpritePackPostLoadDone = true; } }