AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 9 "The games of a.

Slides:



Advertisements
Similar presentations
Create a Simple Game in Scratch
Advertisements

Mike Scott University of Texas at Austin
Create a Simple Game in Scratch
Coloring Randomly: Random Selection in Alice By Jenna Hayes under the direction of Professor Susan Rodger Duke University July 2008.
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
Harry Potter Scratch Game
Code Club Session 3 Shark Eats Fish. Picture of finished product here.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 18 – Macromedia Flash MX 2004: Building an Interactive Game Outline 18.1 Introduction 18.2 Object-Oriented.
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
Flash basics. What Flash is Annoying animations Complete waste of resources Might be if done wrong but  Flash can be used to –Create dynamic content.
1 Flash Actionscript Animation. 2 Introduction to Sprites We will now look at implementing Sprites in Flash. We should know enough after this to create.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 9 "The games of a people reveal.
A Scratch tutorial. Description: You have 6 bullets to shoot at 2 targets. Every time you hit any of them you get two extra bullets but the targets get.
© 2008 The McGraw-Hill Companies, Inc. All rights reserved. M I C R O S O F T ® Animating and Using Multimedia Effects Lesson 10.
Line up By Melissa Dalis Professor Susan Rodger Duke University June 2011.
Copyright 2007, Information Builders. Slide 1 Maintain & JavaScript: Two Great Tools that Work Great Together Mark Derwin and Mark Rawls Information Builders.
Introduction to TouchDevelop
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 3 "The games of a people reveal.
I Didn’t Know You Could Do That in Articulate Quizmaker! Debbie Richards Creative Interactive Ideas Samples and Resources:
How to make Space Invaders
Making a Boat Racing Game in Alice By Jenna Hayes Under the direction of Professor Susan Rodger Duke University, July 2010.
Spiral Rider PAGE 1. Set Up Scene 1.Add Stage-underwater scene 2.Add crab sprite 3.Add two fish sprites PAGE 2.
 2008 Pearson Education, Inc. All rights reserved Adobe ® Flash ® CS3: Building an Interactive Game.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 3 "The games of a.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 8 "The games of a.
Changing Color, Using Text Objects, and Random Selection in Alice By Jenna Hayes Under the direction of Professor Susan Rodger Duke University, July 2008.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 2 "The games of a.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 7 The Game Loop and Animation Starting Out with Games & Graphics.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 3 "The games of a.
Using MIT Scratch for Programming and Control Exercise 6 – Creating a Scratch Packman Year 9 ICT Autumn Term 2007.
VB Games: Preparing for Memory Brainstorm controls & events Parallel structures (again), Visibility, LoadPicture, User-defined procedures, Do While/Loop,busy.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script "The games of a people reveal.
By Melissa Dalis Professor Susan Rodger Duke University June 2011 Multiplication Table.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Sound in Action Script "The games of a people reveal.
Piñata Game: Keeping Score in Alice By Maggie Bashford Professor Susan Rodger Duke University July
1 ball, 2 ball, red ball, blue ball By Melissa Dalis Professor Susan Rodger Duke University June 2011.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 6 "The games of a people reveal.
Guide to Programming with Python Chapter Twelve Sound, Animation, and Program Development: The Astrocrash Game.
Building the Events Components– Lesson 111 Building the Events Components Lesson 11.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 3 "The games of a people reveal.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech June 2008.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 9 "The games of a people reveal.
© 2011 Delmar, Cengage Learning Chapter 10 Using ActionScript to Enhance User Experience.
Create a Halloween Computer Game in Scratch Stephanie Smullen and Dawn Ellis Barb Ericson October 2008.
Computer Game Design ActionScript is… Object-oriented programming Everything you do in ActionScript does something to some object* Some objects.
Tutorial for Arrays and Lists. Description This presentation will cover the basics of using Arrays and Lists in an Alice world It uses a set of chickens.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 6 "The games of a.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Action Script 12 "The games of a people.
By Mr. Putnam. In Catfall, the goal of the game is to touch the falling cats with the mouse. Every time you touch a cat, your score goes up by one point.
Video in Macromedia Flash (Optional) – Lesson 121 Video in Macromedia Flash (Optional) Lesson 12.
Open a new Flash File Action Script 2.0. Create a button like you did last lesson and name it Click to Play.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 12 "The games of.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Starting Out with Games & Graphics in C++ Tony Gaddis Chapter 8 The.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 5 "The games of a people reveal.
AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script "The games of a people.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 11 "The games of a people reveal.
 Movieclip symbols are reusable pieces of flash animation  consisting usually of one or more graphic/button symbols  thus they are flash movies within.
Game Maker Tutorials Introduction Clickball IntroductionClickball Where is it? Shooting Where is it?Shooting.
Microsoft® PowerPoint  Entrance. Controls how an object first appears on a slide.  Emphasis. Draws attention to an object that is already.
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 12 "The games of a people reveal.
Create a Halloween Computer Game in Scratch
Scratch for Interactivity
Game Loop Update & Draw.
Creating a Simple Game in Scratch
CSC 221: Introduction to Programming Fall 2018
Presentation transcript:

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Intro to Action Script 9 "The games of a people reveal a great deal about them.“ Marshall McLuhan

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla Open find_a_fox.fla flash file. Pay attention on the 3 scenes: Start Play End

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla Start scene

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla Play scene

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla End scene

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla Locate hidden objects Feedback for found objects Keep track of what has been found and what has not Once all objects are found game goes to “game over” scene

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla Locate hidden objects Feedback for found objects applied color transformation Keep track of what has been found and what has not array of true and false values starts with 7 false values and each one changes to true once the objects are found Once all objects are found game goes to “game over” scene 7 movie clips are used when a mouse click is detected the code loops through all the movie clips using hitTest to determine which one was clicked

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla Most of effort is the drawing and design of the objects and the background scene Some graphics are on different layers to allow partially hidden objects Movie clips named fox0….fox6 All actions are in the “actions” movie clip outside of the stage

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla onClipEvent (load) { // create array with 7 false values to keep track of // which ones found found = []; for (i=0; i<7; i++) { found[i] = false; }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla When the user clicks the location is recorded in the variables x and y onClipEvent (mouseDown) { // record location of click x = _root._xmouse; y = _root._ymouse;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla hitTest is used to check these values against the fox movie clips When the match is found the color of the movie clip transformed to red And the hidden fox stands out from the background // loop through all foxes to see if any hit for (i=0; i<7; i++) { if (_root["fox"+i].hitTest(x, y, false)) { // change color of fox myColor = new Color(_root["fox"+i]); myColor.setTransform({rb:128, bb:0, gb:0}); // record that this one was found found[i] = true; break; } // see if all foxes found gameover = true; for (i=0; i<7; i++) { if (found[i] == false) { // this fox not found, game not over gameover = false; } // go to end frame if all foxes found if (gameover) { _root.gotoAndPlay("Game Over"); }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Counter based games find_a_fox.fla After every click the “found” array is searched for a false value. If all foxes have been found, then the movie goes to another frame “Game Over” // see if all foxes found gameover = true; for (i=0; i<7; i++) { if (found[i] == false) { // this fox not found, game not over gameover = false; } // go to end frame if all foxes found if (gameover) { _root.gotoAndPlay("Game Over"); }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla Open shoot_a_fox.fla flash file. Pay attention on the 3 scenes: Start Play End

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla Start scene

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla Play scene

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla End scene

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla Click on the objects on the screen Objects appear at random times and places Objects move The player must have quick reflexes to catch foxes before they disappear Foxes run through a whole animation sequence that takes them from one part of the screen to another 1 animation- fox running from place to place 2 animation- fox swinging from a tree 3 animation – fox peeking out from behind the tree these animations are triggered each 2-3 seconds

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla The game keeps track of how many shots are left showShotsLeftdynamic text variable And how many hits were done showScoredynamic text variable The cursor is replaced with a movie clip that resembles a gun crosshair Nested fox movie clips animation hit stage

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla Library: Peeking fox Runnign fox Swinging fox Single frame of the fox, followed by a yellow hit fox First part is normal animation Second part shows that the user has hit the fox

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla 7 movie clips fox0….fox6 Animated fox to peek or swing or run The inner clips are labeled “fox” so that the code can address them When the fox is hit, the code tells movie clip instance “fox” inside the movie clips “fox0”, “fox6”, etc to go to frame “hit”

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla Layers with trees to partially cover fox movie clips The “actions” movie clip contains most of the code “shotsLeft” are set to 50 to give the user 50 shots Mouse.hide()makes the cursor invisible Mouse.show()visible again Mouse cursor is replaced with movie clip “cursor”

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla onClipEvent (load) { // how much time between fox appearances 2 sec timeBetweenFoxes = 2000; // calculate time until next fox // getTimer() returns the milliseconds since the flash movie began nextFox = getTimer()+timeBetweenFoxes;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla // init scores shots left to 50, score to 0 score = 0; shotsLeft = 50; _root.showScore = "Score:"+score; _root.showShotsLeft = "Shots Left:"+shotsLeft; // hide cursor Mouse.hide(); }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla onClipEvent (enterFrame) { // set the cursor _root["cursor"]._x = _root._xmouse; _root["cursor"]._y = _root._ymouse; // see whether it is time for the next fox if (getTimer()>=nextFox) { // shorter wait next time timeBetweenFoxes -= 5; // see whether the game is over if (shotsLeft < 1) { _root.gotoAndPlay("End");

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla // new fox } else { // loop until a fox is found that is // not in use while (true) { fox = int(Math.Random()*7); if (_root["fox"+fox]._currentFrame == 1) { break; }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla // tell fox to move _root["fox"+fox].gotoAndPlay(2); // set time for next fox to appear nextFox = getTimer()+timeBetweenFoxes; } Searches through a 7 movie clips top find one that might have been hit If one does, the “fox” movie clip inside that movie clip is told to play the “hit” animation frame 2

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla onClipEvent (mouseDown) { // show blast _root["cursor"].gotoAndPlay("blast"); // get the location of the click x = _root._root["cursor"]._x; y = _root._root["cursor"]._y; // loop through all foxes to see which was clicked for (i=0; i<7; i++) {

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla // look only at clips that are doing the // pop up animation if (_root["fox"+i]["fox"]._currentFrame <= 1) { // see whether this was the one clicked if (_root["fox"+i].hitTest(x, y, false)) { // have the clip play the "hit" animation _root["fox"+i].fox.gotoAndPlay("hit"); // increase score and show it score++; }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla // take away one shot shotsLeft--; // update score _root.showScore = "Score:"+score; _root.showShotsLeft = "Shots Left:"+shotsLeft; } onClipEvent (unload) { // game over, so return cursor to normal Mouse.show(); }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games shoot_a_fox.fla The game is over when the onClipevent(enterFrame) function attempts to move a new fox and discovers that the player is out of shots. This prevents the movie from ending the instant that the last shot is fired but rather delays the end for about a second or two.

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla Background elements: Trees movie clip the closest one will move faster (by factor of 10) Bushed movie clip further will move little slower (by factor of 5) Hills movie clip even farthest will move even slower (by factor of 4)

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla Trees movie clip the closest one will move faster (by factor of 10)

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla Bushes movie clip further will move little slower (by factor of 5)

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla Hills movie clip even farthest will move even slower (by factor of 4)

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla Trees + Bushes + Hills = 3 movie clips in 3 layers

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla first frame actions: stop(); // set pan limits panLimitLeft = -30; panLimitRight = 30; panAmount = 0;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla function moveScene(d) { // check to see whether within pan limits if ((panAmount+d > panLimitLeft) and (panAmount+d < panLimitRight)) { // keep track of pan amount panAmount += d; // move three layers at different speeds trees._x += d*10; bushes._x += d*5 hills._x += d*4; }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Sliding background pan_bg.fla “Actions” movie clip function to activate moveScene(d) function Values 1 and -1 are passed to d parameter onClipEvent (enterFrame) { // pan left or right if needed if (_root._xmouse < 50) { _root.moveScene(1); } else if (_root._xmouse > 500) { _root.moveScene(-1); }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla Shooting game that allows the user to scroll left and right through a larger scene. Foxes appear a random times and places. Scrolling gives a sense of dimension by moving closer objects faster then distant

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla 10 fox movie clips 7 foxes behind the trees will move with the same sped as the trees 3 foxes behind the bushes will move with the same speed as bushes

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla panAmoutkeeps track of the scroll left or right If the user pans left, the graphics move to the right so the panAmount becomes 1 If the user continue to move in that direction panAmount grows 2, 3, 4 If the user moves right, the panAmount goes -1, -2, -3… panLimitLeft=-30; panLimiright=30; panAmount=0;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla First frame script: stop(); // set pan limits // values gotten through trial and error panLimitLeft = -30; panLimitRight = 30; panAmount = 0;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla function moveScene(d) { // check to see whether within pan limits if ((panAmount+d > panLimitLeft) and (panAmount+d < panLimitRight)) { // keep track of pan amount panAmount += d; // move three layers at different speeds trees._x += d*10; bushes._x += d*5 hills._x += d*4;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla // foxes 0-6 track with trees for(i=0;i<7;i++) { _root["fox"+i]._x += d*10; } // foxes 7-9 track with bushes for(i=7;i<10;i++) { _root["fox"+i]._x += d*5; }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla Actions movie clip script: onClipEvent (load) { // how much time between fox appearances timeBetweenFoxes = 2000; // calculate time until next fox nextFox = getTimer()+timeBetweenFoxes; // init scores score = 0; shotsLeft = 50; _root.showScore = "Score:"+score; _root.showShotsLeft = "Shots Left:"+shotsLeft; // hide cursor Mouse.hide(); }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla onClipEvent (enterFrame) { // set the cursor _root["cursor"]._x = _root._xmouse; _root["cursor"]._y = _root._ymouse; // pan left or right if needed if (_root._xmouse < 50) { _root.moveScene(1); } else if (_root._xmouse > 500) { _root.moveScene(-1); } // see if it is time for the next fox if (getTimer()>=nextFox) { // shorter wait next time timeBetweenFoxes -= 5;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla // see if the game is over if (shotsLeft < 1) { _root.gotoAndPlay("End"); // new fox } else { // loop until a fox is found that is // not in use while (true) { fox = int(Math.Random()*10); if (_root["fox"+fox]._currentFrame == 1) { break; }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla // tell fox to move _root["fox"+fox].gotoAndPlay(2); // set time for next fox to appear nextFox = getTimer()+timeBetweenFoxes; } onClipEvent (mouseDown) { // show blast _root["cursor"].gotoAndPlay("blast"); // get the location of the click x = _root._root["cursor"]._x; y = _root._root["cursor"]._y;

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla // loop through all 10 foxes to see which was clicked for (i=0; i<10; i++) { // only look at clips that are doing the // pop up animation if (_root["fox"+i]["fox"]._currentFrame <= 1) { // see if this was the one clicked if (_root["fox"+i].hitTest(x, y, false)) { // have the clip play the "hit" animation _root["fox"+i].fox.gotoAndPlay("hit"); // increase score and show it score++; }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Shooting games hunt_a_fox.fla // take away one shot shotsLeft--; // update score _root.showScore = "Score:"+score; _root.showShotsLeft = "Shots Left:"+shotsLeft; } onClipEvent (unload) { // game over, so return cursor to normal Mouse.show(); }

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Movements of two-legged figure

AD 305 Electronic Visualization I : School of Art and Design : University of Illinois at Chicago : Spring 2007 Movements of two-legged figure