Alice can be REALLY fun ... as well as very tedious. Because of this, we know that it is going to be difficult to show you all of the possibilities that Alice holds for creating animations and games. We would like you to have as much time as possible to work on your individual Alice projects, so we have posted the instructions for the daily Alice project here. Within this post you will find the steps for creating the "Egypt" Alice project that we will be adding components to daily. We will work through these instructions with you in class for about 45 minutes to an hour each morning, and then we will let you work for the rest of the 30-45 minutes on your own Alice projects. It is your responsibility to finish the rest of the daily instructions on your own before the start of the next day, so that you will be ready to proceed and following along with the lessons that we will be giving.
************************************************************************************************************
Day 4 (Friday): Functions & Conditionals
Open Alice, Close welcome screen
Click ‘File’ → Open world → egyptProject → Click ‘Open’
Let’s begin by making the laser beams we created yesterday hit the mummy …
Object tree → World → create new method → name: my fifth method
In 'myfirstmethod':
Methods tab → Drag in ‘myfifthmethod’ to be last instruction
We want the Pharaoh to be facing the mummy and the mummy to look aggressive when we view this scene. Lets make methods for this!
Object tree → Mummy → create new method → name: aggressive1 method
Click ‘Add objects’ → Use object controls to lift Pyramid up so that you can see the mummy → Click ‘Done’
First we are going to make the Mummy’s arms move ... We need to get closer to the mummy so that we can see him. Navigate through the world so that you are close to the mummy.
Object tree --> Mummy --> Properties tab → capture pose → name: standing
Right click on the following pieces of the Mummy to do the following. He will change positions in the world. You are NOT dragging blocks into any methods to do this.
Right click on Mummy.right forearm → turn backward → 0.15 revolutions
Right click on Mummy.right arm → turn backward → 0.05 revolutions
Object tree --> Mummy --> Properties tab → capture pose → pose1
Return mummy to standing pose … To do this, do the following :
Object tree → Mummy
Right click on Mummy → methods → set pose to → standing
Right click on Mummy.left forearm → turn backward → 0.15 revolutions
Right click on Mummy.left arm → turn backward → 0.05 revolutions
Object tree --> Mummy --> Properties tab → capture pose → pose2
Return mummy to standing pose ... To do this, do the following:
Object tree → Mummy
Right click on Mummy → methods → set pose to → standing
In ‘aggressive1’ method
Drag in ‘Loop’ → 4 times:
Drag ‘mummy set pose to’ → pose1 → 0.5 s
Drag ‘mummy set pose to’ → pose2 → 0.5 s
In ‘myfifth method':
Set vehicle of Mummy back to entireWorld → 0 seconds
(Properties tab → drag ‘vehicle’ into method → select entireWorld)
Drag ‘Pharaoh turn’ → left → ½ revolution → 0 seconds
Object tree → Mummy
Methods tab → drag ‘aggressive1 method ’ into my fifth method
Object tree → Mummy → create new method → name: aggressive2 method
Now we are going to make the Mummy’s body move...
Drag in ‘Loop’ → 4 times:
Drag ‘mummy roll’ → left → 0.03 revolutions → 0.25 s into method
Drag ‘mummy roll’ → right → 0.06 revolutions → 0.25 s into method
Drag ‘mummy roll’ → left → 0.03 revolutions → 0.25 s into method
In ‘myfifth method
Drag ‘Do together’
Object tree --> Mummy --> Methods tab
Drag ‘aggressive1’ & ‘aggressive2’ methods into ‘Do together’
Drag ‘Do in order’ inside ‘Do together’
Drag wait → 2 seconds into 'Do in order'
Object tree → vehicle cylinder
Drag ‘cylinder move to’ → Mummy → entireUpperBody → 2 seconds inside 'Do in order'
Save your project!
Now we want to make the mummy explode when the laser hits him. To do this, we need to know when the laser is close to the mummy. We need a function and a condition to test this …
In ‘myfifth method’:
Drag ‘If-Else’ → true
Object tree → vehicle cylinder --> Functions tab
Drag ‘cylinder is within threshold’ to replace ‘true’
Select 1 meter → Mummy → entireUpperBody
Drag ‘Do together’ inside ‘if’
In 'Do together', Set ALL cylinders’ opacity to 0% → 0 seconds
(To do this ... Properties → Drag ‘opacity’ into ‘Do together’ → select 0%)
Object tree → Mummy → create new method → name: explode
Drag ‘explode’ block inside if statement in ‘my fifth method', so that it is the last instruction in the if statement
In ‘explode’ method:
Drag ‘Do together’ into method
In 'Do together':
Drag ‘Mummy.neck move’ → up → 10 meters
Drag ‘Mummy.right arm move’ → right → 10 meters
Drag ‘Mummy.left arm move’ → left → 10 meters
Drag ‘Do together’ into method; place AFTER first ‘Do together’:
In 'Do together':
Drag ‘Mummy.upper body roll’ → left → ¼ revolution
Drag ‘Mummy.upper body move’ → down → 1.1 meters
Drag ‘Mummy.left leg turn’ → backward → ¼ revolution
Drag ‘Mummy.left leg move’ → down → 1.1 meters
Drag ‘Mummy.right leg turn’ → forward → ¼ revolution
Drag ‘Mummy.right leg move’ → down → 1.1 meters
Click ‘add objects’ → Special effects → fire → add instance to world
Move fire to where mummy explodes … Play animation and adjust if necessary
Click ‘Done’ & Save!!!
Object tree → fire → Properties tab → Opacity → 0%
In myfifthmethod:
In ‘Do together’ inside if statement, set fire opacity to 60% → 0 seconds
(To do this ... Properties tab → Drag ‘opacity’ → select 60% → 0 seconds)
Drag ‘wait for 2 seconds’ after ‘explode’ block
Drag in ‘Do together’
Object tree --> Fire → Properties tab → Drag ‘opacity’ → 0%
Object tree → Mummy → Properties tab → Drag ‘opacity’ → 0%
Object tree → Pharaoh
Drag ‘Pharaoh say’ BEFORE ‘Do in order’
Select Other → “Oh no! Someone, please help me!” → 3 seconds
Click ‘add objects’ → Move Pyramid back down to ground level
Click on ‘File’ → ‘Save World’
Click ‘Play’
Now we want Cleopatra to go to the Pharaoh …
Object tree → World → create new method → name: mysixthmethod
In ‘mysixth method’:
Set Cleopatra’s pose to standing → 0 seconds
(To do this ... Object tree → Cleopatra → Method tab → Drag ‘set pose to’ → standing)
Drag ‘Cleopatra move toward’ → 18 meters → entirePharaoh → 0 seconds
Drag ‘Cleopatra turn’ → left → ¼ revolutions → 0 seconds
Object tree → World
Drag in 'universalWalk' → Get pieces for Cleopatra
Object tree → Cleopatra
Drag ‘Cleopatra turn’ → right → 0.15 revolutions → 0.5 seconds
Object tree → Pharaoh
Drag ‘Pharoah say’ → “Thanks for saving me!” → 3 seconds
Object tree → Cleopatra
Drag ‘Cleopatra say’ → “I’ll always be here to save the day!” → 3 seconds
In ‘myfirstmethod’
Object tree --> World --> Methods tab
Drag ‘mysixthmethod’ to be last instruction in method
Click on ‘File’ → ‘Save World’
Click ‘Play’ … May need to adjust Cleopatra so that she can be seen
Now, lets add some credits to our short animation!
Open Microsoft Paint
Choose background color, save to Desktop as “Credits.jpg”
In Alice …
Click on File → Make Billboard → Select image → Import
Drive camera to Billboard
You should stop when the only thing that you can see on your screen is the billboard (I.e. You will see only one color that takes up your entire screen)
Click on ‘add objects ‘ → place dummy camera → name: viewCredits
In the Local gallery click on 3D text → “Created by: (Your name here)”
Manipulate text so that it is on Billboard → Click ‘Done’
In ‘myfirst method’:
Object tree → Camera
Drag ‘camera set point of view’ → Dummy objects → viewCredits → 0 sec
Note: This should be the last instruction in ‘myfirstmethod’
Click on ‘File’ → ‘Save World’
Click ‘Play’
Now let’s make the animation a little better …
- We want the title to display before the talking starts, and then disappear when the talking begins
In ‘myfirstmethod’
Wait 2 seconds before Pharaoh starts talking
Turn title invisible → 2 seconds
- We want the mummy chase scene to be faster!
Need to create new method for running
Create new World method → name: Running
Open pharaohWalk method
Copy code and place inside Running method
Enable ‘Do together’ code
Change seconds to 0.15 instead of 0.5
In ‘mysecondmethod’
In loop, Replace pharaohWalk with Running method
- Sounds! (Should be in folder on Desktop)
World → properties tab → Sounds → import sounds
In ‘myfirstmethod’
Do together: Pharaoh say Ahhh & scream sound
In ‘mythirdmethod’
Do together: Cleopatra say Abra Cadabra & magic sound
In ‘myfourthmethod’
Do together: Laser sound and visibility
In ‘myfifthmethod’
After mummy explode
Do together:
Pharoah.upperBody.rightarm → turn backward → 0.4 revolutions → 0.5 s Repeat for left arm
Pharaoh woohoo sound
Do together:
Pharoah.upperBody.rightarm → turn forward → 0.4 revolutions → 0.5 s Repeat for left arm
Click on ‘File’ → ‘Save World’
Click ‘Play’