1. package {
  2. import flash.display.*;
  3. import flash.events.*;
  4. import flash.utils.Timer;
  5. import flash.text.TextField;
  6.  
  7. public class Adventurer extends MovieClip {
  8. private var player:Player;
  9. private var enemy:Enemy;
  10. public var leftArrow, rightArrow:Boolean;
  11. private var score:int;
  12. public var livesLeft:int = 3;
  13.  
  14. public function startAdventurer() {
  15. // initalize score
  16. score = 0;
  17. showGameScore();
  18.  
  19. // create player
  20. player = new Player();
  21. addChild(player);
  22. setChildIndex(player, 2);
  23.  
  24. // create enemy
  25. enemy = new Enemy();
  26. addChild(enemy);
  27. setChildIndex(enemy, 2);
  28.  
  29. // listen for keyboard
  30. stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
  31. stage.addEventListener(KeyboardEvent.KEY_UP,keyUpFunction);
  32.  
  33.  
  34. // listen for player hitting stuff
  35. addEventListener(Event.ENTER_FRAME, checkForHits);
  36. }
  37.  
  38. // check for collisions
  39. public function checkForHits(event:Event) {
  40.  
  41. if (player.hitTestObject(enemy)) {
  42.  
  43. _root.removeChild(this);
  44. showGameScore();
  45. endGame();
  46. livesLeft--;
  47. }
  48.  
  49. }
  50.  
  51. // key pressed
  52. public function keyDownFunction(event:KeyboardEvent) {
  53. if (event.keyCode == 37) {
  54. leftArrow = true;
  55. } else if (event.keyCode == 39) {
  56. rightArrow = true;
  57. }
  58. }
  59. // key lifted
  60. public function keyUpFunction(event:KeyboardEvent) {
  61. if (event.keyCode == 37) {
  62. leftArrow = false;
  63. } else if (event.keyCode == 39) {
  64. rightArrow = false;
  65. }
  66. }
  67. public function showGameScore() {
  68. showScore.text = String("Score: "+score);
  69. //showShots.text = String("Shots Left: "+shotsLeft);
  70. }
  71. // game is over, clear movie clips
  72. public function endGame() {
  73.  
  74. enemy.deleteEnemy();
  75. enemy = null;
  76.  
  77. player.deletePlayer();
  78. player = null;
  79.  
  80. stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyDownFunction);
  81. stage.removeEventListener(KeyboardEvent.KEY_UP,keyUpFunction);
  82.  
  83. gotoAndStop("end");
  84. }
  85.  
  86. }
  87. }