Initial Commit

* Adds Menu
* Adds Level Manager - LevelBase
* Adds Sample level
* Basic player movement
This commit is contained in:
Indrajith K L
2022-04-28 03:27:44 +05:30
commit ad2056876e
24 changed files with 717 additions and 0 deletions

56
source/core/LevelBase.hx Normal file
View File

@@ -0,0 +1,56 @@
package core;
import core.Types.LevelConfig;
import entities.Player;
import flixel.FlxG;
import flixel.FlxState;
import flixel.addons.editors.ogmo.FlxOgmo3Loader;
import flixel.tile.FlxTilemap;
import scenes.GameOver;
class LevelBase extends FlxState
{
var map:FlxOgmo3Loader;
var bg:FlxTilemap;
var walls:FlxTilemap;
var _player:Player;
public function new(levelConfig:LevelConfig)
{
super();
map = new FlxOgmo3Loader(levelConfig.ogmoLevel, levelConfig.levelJson);
bg = map.loadTilemap(levelConfig.bgTileSheet, "bg");
walls = map.loadTilemap(levelConfig.wallTilesheet, "walls");
bg.scrollFactor.set(.33, .33);
}
override public function create()
{
super.create();
add(bg);
add(walls);
map.loadEntities(loadPlayer, 'player_layer');
FlxG.camera.setScrollBoundsRect(0, 0, walls.width, walls.height, true);
}
override public function update(elapsed:Float)
{
super.update(elapsed);
FlxG.collide(_player, walls);
if (_player.y > walls.height)
{
openSubState(new GameOver());
}
}
function loadPlayer(entity:EntityData)
{
if (entity.name == "player")
{
_player = new Player(entity.x, entity.y);
add(_player);
FlxG.camera.follow(_player, NO_DEAD_ZONE);
}
}
}

9
source/core/Types.hx Normal file
View File

@@ -0,0 +1,9 @@
package core;
typedef LevelConfig =
{
var ogmoLevel:String;
var levelJson:String;
var wallTilesheet:String;
var bgTileSheet:String;
}