Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: Animation/Animation.cpp
- Revision:
- 10:95842278bd66
- Parent:
- 8:c3cf8d1057bb
diff -r 35f992fd407b -r 95842278bd66 Animation/Animation.cpp
--- a/Animation/Animation.cpp Wed May 03 15:25:13 2017 +0000
+++ b/Animation/Animation.cpp Wed May 03 16:16:33 2017 +0000
@@ -1,17 +1,27 @@
#include "Animation.h"
+//////////// constructor ////////////
Animation::Animation()
{
}
+//////////// destructor ////////////
Animation::~Animation()
{
}
+/////////////////// public methods ///////////////////
+
void Animation::spawn(N5110 &lcd, intVector2D starting_position)
{
+ // This animates the tube at the ceiling opening and the player falling out
+ // of it, after which the tube closes.
+ // The first animation cycle shows the player falling out of the tube
+ // however we want the player to have control right after he appears,
+ // rather than waiting for the tube opening to close. Hence the rest
+ // of the animation will happen one frame at a time as the game goes on.
if (spawnCycle == 0)
{
lcd.setPixel(starting_position.x + 1, starting_position.y - 1, false);
@@ -64,6 +74,9 @@
void Animation::death(N5110 &lcd, intVector2D position, int frame)
{
+ // Animates the explosion of the player due to hitting the spikes
+ // The animation frame number is fed into the function
+ // and the appropriate pixels are set or cleared.
if (frame == 0)
{
lcd.setPixel(position.x + 1, position.y, false);
@@ -128,6 +141,8 @@
void Animation::finish(N5110 &lcd, intVector2D finish_position, Gamepad &pad, bool soundOn)
{
+ // Animates the player going into the level exit tube. First 4 frames
+ // also trigger a tone if the sound is turned on.
lcd.setPixel(finish_position.x + 3, finish_position.y + 2, false);
lcd.refresh();
if (soundOn) pad.tone(523.25f,0.1f);