diff options
Diffstat (limited to 'res/scripts/common.lua')
| -rw-r--r-- | res/scripts/common.lua | 25 |
1 files changed, 25 insertions, 0 deletions
| diff --git a/res/scripts/common.lua b/res/scripts/common.lua index e7af1cf..f43b2e0 100644 --- a/res/scripts/common.lua +++ b/res/scripts/common.lua | |||
| @@ -38,3 +38,28 @@ end | |||
| 38 | function StopSound(soundId) | 38 | function StopSound(soundId) |
| 39 | mixer():stopChannel(soundId) | 39 | mixer():stopChannel(soundId) |
| 40 | end | 40 | end |
| 41 | |||
| 42 | function FadeToBlack(length) | ||
| 43 | local progress = 0.0 | ||
| 44 | while progress < length do | ||
| 45 | progress = progress + coroutine.yield() | ||
| 46 | setFadeoutProgress(progress / length) | ||
| 47 | end | ||
| 48 | setFadeoutProgress(1.0) | ||
| 49 | end | ||
| 50 | |||
| 51 | function RemoveFadeout(length) | ||
| 52 | local progress = length | ||
| 53 | while progress > 0 do | ||
| 54 | progress = progress - coroutine.yield() | ||
| 55 | setFadeoutProgress(progress / length) | ||
| 56 | end | ||
| 57 | setFadeoutProgress(0.0) | ||
| 58 | end | ||
| 59 | |||
| 60 | function ChangeMap(map, warp) | ||
| 61 | FadeToBlack(150) | ||
| 62 | loadMap("../res/maps/" .. map .. ".tmx", warp) | ||
| 63 | coroutine.yield() | ||
| 64 | RemoveFadeout(150) | ||
| 65 | end | ||
