Created
December 6, 2016 13:21
-
-
Save codetravis/23f638b62b85135b97e8f63f5e35b00a to your computer and use it in GitHub Desktop.
7.4 Add enemy generator
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#FantomX_UsePhysics = True | |
Import fantomX | |
Import character | |
Class Game Extends App | |
Field engine:ftEngine | |
Field default_layer:ftLayer | |
Field default_scene:ftScene | |
Field player:Character | |
Field enemies:List<Character> | |
' variable to hold the last time we created an enemy | |
Field last_enemy_time:Float | |
Method OnCreate() | |
Self.engine = New ftEngine | |
default_scene = engine.GetDefaultScene() | |
default_layer = engine.GetDefaultLayer() | |
Local box:ftObject = Self.engine.CreateBox(120, 20, engine.GetCanvasWidth()/2, engine.GetCanvasHeight()/2) | |
box.SetColor(0, 70, 70) | |
box.SetMaxSpeed(20.0) | |
box.SetMinSpeed(-20.0) | |
Self.player = New Character(box, True) | |
' Initialize the enemies list | |
Self.enemies = New List<Character>() | |
' Initialize last enemy time | |
Self.last_enemy_time = Millisecs() | |
End | |
Method OnUpdate() | |
Local time_delta:Float = Float(engine.CalcDeltaTime())/60.0 | |
' Create an enemy if enough time has passed | |
If ((Millisecs() - last_enemy_time) > 3000) | |
CreateEnemy() | |
Self.last_enemy_time = Millisecs() | |
End | |
player.Update(engine.GetCanvasWidth(), engine.GetCanvasHeight()) | |
If engine.GetPaused() = False | |
engine.Update(time_delta) | |
End | |
End | |
' Create and enemy at the edge of the screen and start them heading left | |
Method CreateEnemy() | |
Local box:ftObject = Self.engine.CreateBox(50, 30, Self.engine.GetCanvasWidth(), engine.GetCanvasHeight()/2) | |
box.SetColor(200, 200, 0) | |
box.SetSpeedX(-10) | |
enemies.AddLast(New Character(box)) | |
End | |
Method OnRender() | |
engine.Clear(255, 0, 0) | |
engine.Render() | |
engine.SetColor(0, 70, 70) | |
engine.RenderFlush() | |
End | |
End | |
Function Main() | |
New Game() | |
End |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment