From 315ca2fb388f790791c9ce372cf44e00d51e0e7f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Tue, 9 Feb 2021 20:34:59 -0500 Subject: Added trigger zones to the map Walking into a trigger zone runs a script. --- src/main.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 62c81f3..a350c8d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -27,7 +27,7 @@ void loop(Renderer& renderer) { int lucasSprite = game.emplaceSprite("lucas"); game.getSystem().initSprite(lucasSprite, game.getMap().getWarpPoint("spawn")); - game.getSystem().setUpCollision(lucasSprite, {-8, -8}, {12, 8}); + game.getSystem().setUpCollision(lucasSprite, {-8, -8}, {12, 8}, true); game.getSystem().initSprite(lucasSprite, "../res/sprites/lucas_anim.txt", renderer); game.getSprite(lucasSprite).controllable = true; game.getSystem().initSprite(lucasSprite); @@ -50,11 +50,18 @@ void loop(Renderer& renderer) { for (const Prototype& p : game.getMap().getPrototypes()) { int spriteId = game.emplaceSprite(p.name); game.getSystem().initSprite(spriteId, p.pos); - game.getSystem().setUpCollision(spriteId, p.collisionOffset, p.collisionSize); + game.getSystem().setUpCollision(spriteId, p.collisionOffset, p.collisionSize, true); game.getSystem().initSprite(spriteId, p.animationFilename, renderer); game.getSprite(spriteId).interactionScript = p.interactionScript; } + for (const Trigger& t : game.getMap().getTriggers()) { + int spriteId = game.emplaceSprite(t.name); + game.getSystem().initSprite(spriteId, t.pos); + game.getSystem().setUpCollision(spriteId, {0, 0}, t.size, false); + game.getSprite(spriteId).walkthroughScript = t.script; + } + game.getSystem().setFollowingSprite(lucasSprite); game.getSystem().unlockCamera(); -- cgit 1.4.1