| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- /**
- Decompose Robot Builder
- * Make robot parts draggable
- * Robot parts snap in correct spots
- * Robot parts bounce back when incorrect
- * findDistance() function will require teaching
- * Review of .x() and .y() and how they work
- */
- //All parts require $this.draggable(true); at Initialize When Scene Starts
- //*************body Object - Mouse Button Up Event********************//
- //find distance between body part and bodySpace
- //store it in variable called distance
- var distance = $this.findDistance(bodySpace);
- if (distance < 20) { //if it's dragged close enough to bodySpace
- //snap it to x and y of bodySpace
- $this.x(bodySpace.x());
- $this.y(bodySpace.y());
- //make it no longer draggable
- $this.draggable(false); //Ninja Supplies
- } else { //was dragged to the wrong spot
- //snap it back to where it started
- //Hungry Ninja code
- $this.x(616);
- $this.y(42);
- }
- //***********arm1 Object - Mouse Button Up Event**********************//
- //find distance between arm1 part and arm1Space
- //store it in variable called distance
- var distance = $this.findDistance(arm1Space);
- if (distance < 20) { //if it's dragged close enough to arm1Space
- //snap it to x and y of arm1Space
- $this.x(arm1Space.x());
- $this.y(arm1Space.y());
- //make it no longer draggable
- $this.draggable(false); //Ninja Supplies
- } else { //was dragged to the wrong spot
- //snap it back to where it started
- //Hungry Ninja code
- $this.x(634);
- $this.y(244);
- }
- //*************arm2 Object - Mouse Button Up Event********************//
- //find distance between arm2 part and arm2Space
- //store it in variable called distance
- var distance = $this.findDistance(arm2Space);
- if (distance < 20) { //if it's dragged close enough to arm2Space
- //snap it to x and y of arm2Space
- $this.x(arm2Space.x());
- $this.y(arm2Space.y());
- //make it no longer draggable
- $this.draggable(false); //Ninja Supplies
- } else { //was dragged to the wrong spot
- //snap it back to where it started
- //Hungry Ninja code
- $this.x(44);
- $this.y(242);
- }
- //*************head Object - Mouse Button Up Event********************//
- //find distance between head part and headSpace
- //store it in variable called distance
- var distance = $this.findDistance(headSpace);
- if (distance < 20) { //if it's dragged close enough to headSpace
- //snap it to x and y of headSpace
- $this.x(headSpace.x());
- $this.y(headSpace.y());
- //make it no longer draggable
- $this.draggable(false); //Ninja Supplies
- } else { //was dragged to the wrong spot
- //snap it back to where it started
- //Hungry Ninja code
- $this.x(512);
- $this.y(408);
- }
- //*************leg1 Object - Mouse Button Up Event**********************//
- //find distance between leg1 part and leg1Space
- //store it in variable called distance
- var distance = $this.findDistance(leg1Space);
- if (distance < 20) { //if it's dragged close enough to leg1Space
- //snap it to x and y of leg1Space
- $this.x(leg1Space.x());
- $this.y(leg1Space.y());
- //make it no longer draggable
- $this.draggable(false); //Ninja Supplies
- } else { //was dragged to the wrong spot
- //snap it back to where it started
- //Hungry Ninja code
- $this.x(58);
- $this.y(66);
- }
- //****************leg2 Object - Mouse Button Up Event*******************//
- //find distance between leg2 part and leg2Space
- //store it in variable called distance
- var distance = $this.findDistance(leg2Space);
- if (distance < 20) { //if it's dragged close enough to leg2Space
- //snap it to x and y of leg2Space
- $this.x(leg2Space.x());
- $this.y(leg2Space.y());
- //make it no longer draggable
- $this.draggable(false); //Ninja Supplies
- } else { //was dragged to the wrong spot
- //snap it back to where it started
- //Hungry Ninja code
- $this.x(150);
- $this.y(476);
- }
- //************Scene Object - Initialize When Scene Starts***************//
- //Make a variable to keep track of how many parts were snapped in correctly
- //Also Add to Scene a label called message to display text
- $this.correct = 0;
- message.text("Welcome to Robot Building v.1.0");
- //***********Scene Object - Update Every Frame************************//
- //We will check if correct = 6 every frame
- //When it's 6, display congratulatory message
- if($this.correct == 6) {
- message.text("Nice work, you finished!")
- }
|