Creating a 3D Interactive Story Prof. Susan Rodger Duke University Feb. 24, 2007

  • View
    213

  • Download
    1

Embed Size (px)

Transcript

  • Slide 1
  • Creating a 3D Interactive Story Prof. Susan Rodger Duke University Feb. 24, 2007
  • Slide 2
  • Now Create an Alice World Start Alice Select File, New World Click on Snow picture Click on Open
  • Slide 3
  • Find SnowPeople objects Click on add objects Scroll over to people folder and click on it Scroll over to Snowman and snowWoman
  • Slide 4
  • Add Snowman to World Click on snowman and you will see: Click on Add instance Snowman appears in world
  • Slide 5
  • Add SnowWoman to world and adjust Click on SnowWoman and add her to the world Click on arrow key Click and hold on snowman to move him left and back Click and hold on snowWoman and move her to the right Scene should look like
  • Slide 6
  • Save World Save world Type in a name such as: snowPeople and then save Alice will remind you to save your work every 15 minutes
  • Slide 7
  • Now Ready to program! Click on done Should now see myFirstMethod
  • Slide 8
  • Write code to move the snowman This is the object tree, a list of all your objects in the world Now click on the word snowman to highlight it You should see methods below it (things the snowman can do) such as move, turn, roll, Scroll down til you see turn to face
  • Slide 9
  • Write code to move the snowman (2) Click left mouse button on snowman turn to face AND HOLD IT DOWN, then Drag it over and release the mouse button Click on snowWoman the entire snowWoman
  • Slide 10
  • Write code to move the snowman (3) Code appears Click on Play
  • Slide 11
  • Have the snowman talk Drag over Snowman Say Select other and type a greeting such as Hello there! Code is now: Play again
  • Slide 12
  • Now SnowWoman will act Click on snowWoman to see her methods Drag over code and drop below other code Play!
  • Slide 13
  • Now write a NEW snowman method Click on snowman Should see snowmans methods Click on create new method and enter name getAttention Empty method is created, ready for you to enter code
  • Slide 14
  • Write GetAttention Method Add the following code to this method Note you now have two methods: Click on myFirstMethod to get back to it
  • Slide 15
  • Add getAttention method to program to myFirstMethod Click on play
  • Slide 16
  • Repetition Sometimes you want to repeat commands Lets repeat getAttention three times Click on loop and drag and drop at the end of our code, below getAttention Select other and type 3 Click on left tab of getAttention and move it inside the loop Now Play!
  • Slide 17
  • Create snowman method - popHat Click on snowman in objectTree select create new method and name it popHat
  • Slide 18
  • Want the topHat part of snowman Click on + by snowman Click on + by head click on tophat to highlight it
  • Slide 19
  • Now we will move just the tophat Drag over the move command twice to make the tophat move up and then down the same amount
  • Slide 20
  • Make an Event We want the hat to move up and down whenever we press the H key Create a new event and select when a key is typed Click on any key and select the letters then H Click on nothing and select snowman popHat
  • Slide 21
  • Making an Event happen Play your world Whenever you want the hat to pop up and down, just press the key H
  • Slide 22
  • Add more code to myFirstMethod At the end of your code in myFirstMethod Add code to have the snowWoman turn toward the snowman, say I said hello and turn back Remember to click on the word snowWoman in the objectTree to get snowWoman methods
  • Slide 23
  • Here is one possible way
  • Slide 24
  • Turn SnowWomans Head red In addition to methods, each object also has properties you can drag and change Select SnowWomans Head in the object tree Select the Properties tab
  • Slide 25
  • Turn SnowWomans Head Red (2) Click on color, hold and drag to right before snowWoman says I said hello Select color red and release, results in:
  • Slide 26
  • At end, turn head back to no color Here are the two color statements added to the code (note: no color shows as white) Play your world
  • Slide 27
  • Write a snowman Flip method Make sure you select snowman in the objectTree Create the method named flip Have the snowman do the following Move up 1 meter Roll left 2 revolutions Move down 1 meter Add code at the end of myFirstMethod Snowman says Watch what I can do SnowWoman turns to look at him Call the snowman flip method Play your world
  • Slide 28
  • Write a snowWoman flip method Make sure you select snowWoman in the objectTree, then create the method flip Have the snowWoman do the following Move up 1 meter Drag up a DoTogether from the bottom
  • Slide 29
  • Write a snowWoman flip method (2) Inside the DoTogether you can put commands that will happen at the same time Inside this DoTogether have the snowWoman do the following: Turn forward 1 revolution Resize by half Below drop in another DoTogether with: Turn forward 1 revolution Resize by 2 (back to the right size) Add one more command to move snowWoman down 1 meter
  • Slide 30
  • Now lets call the SnowWoman flip method Add code at the bottom of myFirstWorld SnowWoman should say Watch what I can do Call the snowWoman flip method Play your world
  • Slide 31
  • Here is what flip should look like
  • Slide 32
  • Add two new events Add an event so the snowman flips when M is pressed Add an event so the snowWoman flips when W is pressed Play the world, press M and W anytime
  • Slide 33
  • Add more objects to the world First lets add two more objects Click on Add objects, find the nature folder and add any tree to the world Click on it and push it far back Find the vehicles folder and find the scooter, add it to the world (you may have to look in the Web gallery to find the scooter)
  • Slide 34
  • Adjust the scooter Click on the third control and try turning the scooter around to face this direction Then click on the first control (the arrow) and push the scooter back between the tree and the snowWoman
  • Slide 35
  • Write the SnowWoman method driveAway First select the snowWoman in the objectTree and create a new method named driveAway Now lets add code to this method First have the snowWoman turn to face the backRightFloor (or may be called RightFloor) part of the scooter
  • Slide 36
  • Move SnowWoman to the scooter It will be handy to test this method as we build it, look at the event When the world starts Click on the white arrow and select snowWoman.driveAway Now when the world starts, only this method will play Click Play and see
  • Slide 37
  • Write snowWoman driveAway (2) We want the snowWoman to move to the scooter.backRightFloor, but we dont know how far it is Have the snowWoman move forward 1 meter and Play it Its not quite far enough
  • Slide 38
  • Write snowWoman driveAway (3) We can use a snowWoman function to drop in the distance to the scooter.backRightFloor Click on SnowWoman functions Drag distance to and drop on 1 meter when it turns green, then select scooter.backRightFloor
  • Slide 39
  • Write snowWoman driveAway (4) Play the world It is hard to tell, but she goes right into the scooter. Wed like her to stop in front of the scooter. Click on the last arrow and select math, then minus then 0.5 Now she stops 0.5 meters in front of it
  • Slide 40
  • Write snowWoman driveAway (5) Next, have the snowWoman doTogether move up 0.2 meters Move forward 0.5 meters Wed like the scooter to move and have the snowWoman move with it We can set the vehicle property of the snowWoman to be the scooter
  • Slide 41
  • Write snowWoman driveAway (6) Click on snowWomans properties Drag over vehicle and select scooter
  • Slide 42
  • Write snowWoman driveAway (7) Almost done, add a few more commands In a DoTogether The snowWoman says Bye The scooter moves forward 10 meters The snowmans head turns turn to the left (make sure you select snowman in the objectTree) One more command after the DoTogether Snowmans head turns back turn to the right
  • Slide 43
  • snowWoman driveAway final code
  • Slide 44
  • Call snowWoman driveAway Back in myFirstMethod, add a call at the end of your code to call the method snowWoman.driveAway Fix the first event so that when the world starts, world.myFirstMethod is called Play
  • Slide 45
  • Write a snowman melt method Add a snowman method named melt The code should repeat 12 times Move the snowman down a little (0.1 meters) Wait 0.5 seconds (drag the wait tile up from the bottom) At the end of myFirstMethod, call melt Play the world
  • Slide 46
  • Almost Done add title Click on add objects and go to the right end of the local gallery and find 3D text Click on it and add a short title such as Life as SnowPeople Youll have to use the control keys to move it up, back, and turn it to face the right way (use first three

Recommended

View more >