From c41a8f8a032969489fe3ba01edc31dce7672ee6a Mon Sep 17 00:00:00 2001 From: PaulSB Date: Sat, 20 Aug 2011 14:50:24 +0100 Subject: [PATCH] 9x9 floor of tiles rendering --- data/textures/tile_floor.png | Bin 0 -> 200 bytes src/Main.as | 9 ++++--- src/Preloader.as | 4 +-- src/game/Player.as | 17 +++++++++++++ src/states/MenuState.as | 31 +++++++++++++++++++++-- src/states/PlayState.as | 30 ++++++++++++++++++++++ src/world/Level.as | 47 +++++++++++++++++++++++++++++++++++ src/world/LevelManager.as | 30 ++++++++++++++++++++++ 8 files changed, 160 insertions(+), 8 deletions(-) create mode 100755 data/textures/tile_floor.png create mode 100755 src/game/Player.as create mode 100755 src/states/PlayState.as create mode 100755 src/world/Level.as create mode 100755 src/world/LevelManager.as diff --git a/data/textures/tile_floor.png b/data/textures/tile_floor.png new file mode 100755 index 0000000000000000000000000000000000000000..a4becda9c1d17a77f51b73c162bd1e32a09d2d27 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^LO{&J!3HGrh2HJ~QjEnx?oJHr&dIz4a+*9{978nD zuf24Tmsyd=<>Gr2wz)S;(zHI$(-CA!T6}kB(>%6hiz8?KKNi6^X literal 0 HcmV?d00001 diff --git a/src/Main.as b/src/Main.as index 7ed6c3c..eac81ec 100755 --- a/src/Main.as +++ b/src/Main.as @@ -1,7 +1,8 @@ package { import org.flixel.FlxGame; - import states.MenuState; + //import states.MenuState; + import states.PlayState; // Display properties [SWF(width = "720", height = "480", backgroundColor = "#000000")] @@ -9,15 +10,15 @@ package [Frame(factoryClass="Preloader")] /** - * Ludum Dare 21 - - * @author Paul S Burgess - + * Ludum Dare 21 - Escape + * @author Paul S Burgess - 20/8/2011 */ public class Main extends FlxGame { public function Main() { // Entry - invoke FlxGame constructor - super(800, 600, MenuState, 1, 60, 30, true); + super(180, 120, PlayState/*MenuState*/, 4, 60, 30, true); } } } \ No newline at end of file diff --git a/src/Preloader.as b/src/Preloader.as index 2c00779..419d6e0 100755 --- a/src/Preloader.as +++ b/src/Preloader.as @@ -3,8 +3,8 @@ package import org.flixel.system.FlxPreloader; /** - * Ludum Dare 21 - - * @author Paul S Burgess - + * Ludum Dare 21 - Escape + * @author Paul S Burgess - 20/8/2011 */ public class Preloader extends FlxPreloader { diff --git a/src/game/Player.as b/src/game/Player.as new file mode 100755 index 0000000..d6e1588 --- /dev/null +++ b/src/game/Player.as @@ -0,0 +1,17 @@ +package game +{ + import org.flixel.FlxSprite; + + /** + * Ludum Dare 21 - Escape + * @author Paul S Burgess - 20/8/2011 + */ + public class Player extends FlxSprite + { + + public function Player() + { + + } + } +} \ No newline at end of file diff --git a/src/states/MenuState.as b/src/states/MenuState.as index f501e6c..dae311f 100755 --- a/src/states/MenuState.as +++ b/src/states/MenuState.as @@ -1,16 +1,43 @@ package states { + import org.flixel.FlxG; import org.flixel.FlxState; + import org.flixel.FlxText; /** - * Ludum Dare 21 - - * @author Paul S Burgess - + * Ludum Dare 21 - Escape + * @author Paul S Burgess - 20/8/2011 */ public class MenuState extends FlxState { + //[Embed(source = "../../data/font/Robotaur Condensed.ttf", fontFamily = "Robotaur", embedAsCFF = "false")] private var junk:String; + public function MenuState() { + // Title text + var tTxt:FlxText; + tTxt = new FlxText(0, FlxG.height / 2 -12, FlxG.width, "ESCAPE"); + tTxt.setFormat(null, 16, 0xffffffff, "center"); + this.add(tTxt); + // Instruction text + tTxt = new FlxText(0, FlxG.height -12, FlxG.width, "Press SPACE to begin"); + tTxt.setFormat(null, 8, 0xffffffff, "center"); + this.add(tTxt); + } + + override public function update():void + { + if (FlxG.keys.justPressed("SPACE")) + { + FlxG.fade(0xff000000, 0.5, onFade); + } + super.update(); + } + + private function onFade():void + { + FlxG.switchState( new PlayState() ); } } } \ No newline at end of file diff --git a/src/states/PlayState.as b/src/states/PlayState.as new file mode 100755 index 0000000..5498c23 --- /dev/null +++ b/src/states/PlayState.as @@ -0,0 +1,30 @@ +package states +{ + import org.flixel.FlxGroup; + import org.flixel.FlxState; + import world.Level; + import world.LevelManager; + + /** + * Ludum Dare 21 - Escape + * @author Paul S Burgess - 20/8/2011 + */ + public class PlayState extends FlxState + { + private var m_levelManager:LevelManager; + private var m_currentLevel:Level; // Current room reference + + public static var s_layerBackground:FlxGroup; + + public function PlayState() + { + m_levelManager = new LevelManager; + m_currentLevel = m_levelManager.getCurrentRoom(); + + s_layerBackground = new FlxGroup; + s_layerBackground.add(m_currentLevel); + + add(s_layerBackground); + } + } +} \ No newline at end of file diff --git a/src/world/Level.as b/src/world/Level.as new file mode 100755 index 0000000..b4fe516 --- /dev/null +++ b/src/world/Level.as @@ -0,0 +1,47 @@ +package world +{ + import org.flixel.FlxG; + import org.flixel.FlxGroup; + import org.flixel.FlxSprite; + //import org.flixel.FlxU; + + /** + * Ludum Dare 21 - Escape + * @author Paul S Burgess - 20/8/2011 + */ + public class Level extends FlxGroup + { + [Embed(source = '../../data/textures/tile_floor.png')] private var imgTileFloor:Class; + + private const ROOM_TILE_SIZE:int = 9; + private const ROOM_DRAW_X:int = FlxG.width / 2 - 9; + private const ROOM_DRAW_Y:int = 12; + + public function Level() + { + // Create level + var r:Number = (Math.random() * 255.0); + var g:Number = (Math.random() * 255.0); + var b:Number = (Math.random() * 255.0); + var roomColour:uint = 0xff000000 + (r << 16) + (g << 8) + b; + + var x:int = ROOM_DRAW_X, y:int = ROOM_DRAW_Y; + for (var j:int = 0; j <= ROOM_TILE_SIZE; ++j) + { + for (var i:int = 0; i < ROOM_TILE_SIZE; ++i) + { + var tile:FlxSprite = new FlxSprite(x,y); + tile.loadGraphic(imgTileFloor); + tile.color = roomColour; + add(tile); + + x += tile.width / 2; + y += tile.height / 2; + } + + x = ROOM_DRAW_X - j * tile.width / 2; + y = ROOM_DRAW_Y + j * tile.height / 2; + } + } + } +} \ No newline at end of file diff --git a/src/world/LevelManager.as b/src/world/LevelManager.as new file mode 100755 index 0000000..5f2cd04 --- /dev/null +++ b/src/world/LevelManager.as @@ -0,0 +1,30 @@ +package world +{ + import world.Level; + + /** + * Ludum Dare 21 - Escape + * @author Paul S Burgess - 20/8/2011 + */ + public class LevelManager + { + private var m_levels:Array; + + private var m_numRooms:int; + private var m_currentRoom:int; + + public function LevelManager() + { + m_levels = new Array; + m_levels.push(new Level); + m_numRooms = 1; + + m_currentRoom = 0; + } + + public function getCurrentRoom():Level + { + return m_levels[m_currentRoom]; + } + } +} \ No newline at end of file