| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- //****************** Scene Object - Initialize When Scene Starts Event*********//
- $this.resetShuriken = function () {
- // deactivate and hide the shuriken
- shuriken.active = false;
- shuriken.visible(false);
-
- };
- $this.generateCloud = function() {
- // clone the cloud object
- var cloudClone = cloud.clone();
- // position it off the screen
- // with a random x
- cloudClone.x(random(100, 700));
- cloudClone.y(0);
- };
- $this.throwShuriken = function() {
- // move the shuriken to the ninja
- shuriken.x(ninja.x());
- shuriken.y(ninja.y());
- // activate it and make it visible
- shuriken.active = true;
- shuriken.visible(true);
- };
- if ($this.scene.state() == "PLAY") {
- // set up score varible
- $this.score = 0;
- // initialize the shuriken
- $this.resetShuriken();
- // every 3 seconds, generate new cloud
- createTimer(3000, function() {
- $this.generateCloud();
- });
- }
- //********************* ninja Object - Update Every Frame Event*******************//
- $this.incrementAnimation();
- // move the ninja left
- if (isKeyPressed(Keys.leftArrow)) {
- $this.moveX(-100);
- }
- // move the ninja right
- if (isKeyPressed(Keys.rightArrow)) {
- $this.moveX(100);
- }
- // if the spacebar is pressed
- // and if the shuriken is not active
- if (isKeyPressed(Keys.space) && !shuriken.active) {
- $this.scene.throwShuriken();
- }
- //*********************shuriken Object - Update Every Frame Event*****************//
- // move the shuriken if it's active
- if ($this.active) {
- $this.moveY();
- }
- // if it flies off the screen
- // reset it
- if ($this.y() <= 0) {
- $this.scene.resetShuriken();
- }
- //**********************cloud Object - Update Every Frame Event ******************//\
- // always move the cloud
- $this.moveY();
- // remove the cloud if it reaches the top of the screen
- if ($this.y() < 0) {
- // increase the score after every cleared cloud
- $this.scene.score += 10;
- scoreLabel.text($this.scene.score);
- $this.remove();
- }
- // end game if the cloud reaches the bottom of the screen
- if (this.y() >= 500) {
- $this.scene.stopCode();
- }
- // if the cloud touches an active shuriken
- if (shuriken.active && $this.isTouching(shuriken)) {
- // push cloud up
- $this.y($this.y() - 200);
- // reset the shuriken
- $this.scene.resetShuriken();
- }
|