210 likes | 228 Views
Creating an Animation Program. Alice. Basic Programming Process. Scenario or general description of animation/problem to be solved Design or storyboard – plan how you will solve the problem (create the animation) Implement or write (code) the program Test or debug the program
E N D
Basic Programming Process • Scenario or general description of animation/problem to be solved • Design or storyboard – plan how you will solve the problem (create the animation) • Implement or write (code) the program • Test or debug the program • Always involves implementation (fix code as necessary) • May require revisiting design (approach it a different way) • May even require rewriting the scenario to make it solvable
Step 1: Design • Decide on the problem to be solved • Design a solution • We will use a storyboard design technique, commonly used in the film industry
Example • The scenario is: First Encounter After traveling through space, a robot-manned craft has just made a landing on a moon. The robot is on the moon and has set up a camera so earthbound scientists in Houston can view this historic event. The camera view shows the robot, the lunar Lander and some nearby rock formations. Suddenly an alien peeks out from behind a rock, surprising the robot. The robot looks around, spots the alien, and walks over to take a closer look. The alien is frightened and hides behind the rocks. • The problem is: How can we create this animation?
StoryboardOption 2: Screen Shots Initial scene The spiderRobot walks toward the alien
StoryboardOption 3: Text Form • A textual storyboard is like a "to-do" list Do the following steps in order alien moves up alien says "Slithy toves?" robot's head turns around robot turns to look at alien Do together robot moves toward the alien robot legs walk alien moves down robot turns to face camera robot “blushes” robot says “Houston we have a problem” Notice how indentation is used to “group” things
Step 2: Implementation • Toimplement the storyboard, translate the actions in the storyboard to a program. • Program (a.k.a. script or recipe) • a step-by-step list of instructions to have the objects perform certain actions in the animation • Do-in-Order or sequential execution isthe “default” – what it does if you don’t say otherwise • Do-Together or concurrent executionallows simultaneous actions
Action Blocks in Alice Sequential Action Block – actions occur one after another If you don’t put your code inside one of these, Alice assumes Do-in-order Simultaneous Action Block -- actions occur at the same time What should happen if actions have different durations?
Do the following steps in order alien moves up alien says "Slithy toves?" robot's head turns around robot turns to look at alien Do together robot moves toward the alien robot legs walk alien moves down robot turns to face camera robot “blushes” robot says “Houston…” Code 1 2 3
Demo • Ch02FirstEncounter • Look at sample storyboards for “princess save herself” • View implementation
Concepts in this first program • Program instructions may have arguments • Example: for the move instruction, the arguments we used in this example were • direction • distance • DoTogether and DoInOrder blocks can be nested one inside the other alien moveup1 m
Testing • An important step in creating a program is to run it – to be sure it does what you expect it to do. • We recommend that you use an incremental development process: • write a few lines of code and then run it • write a few more lines and run it • write a few more lines and run it… • This process allows you to find any problems and fix them as you go along. Alice automatically keeps a backup copy for you, but consider saving some of the incremental versions. Save as…proj1start.a2w proj1v1.a2wproj1almostDone.a2w proj1v2.a2wproj1final.a2w proj1v3.a2w
Comments • Comments are used to document the code – explain the purpose of a particular segment of the program to the human reader. • A partner • Your instructor • You!
Demo • Ch02FirstEncounterwithComments • Comments in this example world illustrate • description of the action performed by the entire method • description of the purpose of a small segment of code
Example 2 • The scenario is: Several snowpeople are outdoors, on a snow-covered landscape. A snowman is trying to meet a snowwoman who is talking with a group of her friends (other snowwomen.) He says “Ahem" and “blinks” his eyes, trying to get her attention. • The problem is: How can we create this animation?
StoryboardOption 2: Screen shots Initial scene Snowman tries to catch snowwoman’s attention Snowwoman looks around Implies lots of programming completed. Use PowerPoint clipart. View code & consider changes…
Improved Snowpeople • Snowman tries to get snowwoman’s attention • She looks at him, then asks what he wants • He winks at her • She looks at camera, then blushes • She turns to face her friend • At the same time • The friend giggles • The snowwoman shakes her head • Snowman turns and leaves dejectedly Which parts are concurrent? What happens next?