210 likes | 342 Views
Events. Chapter 7. Interactive. The real world is interactive User determines order of actions instead of programmer. Control of Flow. How sequence of actions in program is controlled What action happens first, next, and so on Animations
E N D
Events Chapter 7
Interactive • The real world is interactive • User determines order of actions instead of programmer
Control of Flow • How sequence of actions in program is controlled • What action happens first, next, and so on • Animations • Movie-style - programmer determines sequence of actions prior program running • Interactive - sequence of actions determined at runtime by user
Event • Program reacts to • Mouse click • Key press on keyboard • Changes that occur during program execution • Control of flow is now controlled by user
Events • Each time user provides some sort of input, we say an eventis generated • An event is “something that happens” • An event may • Trigger a response • Move objects into positions that create a condition that triggers a response • Ex: A collision that moves objects
Event Handler Method • Called when event occurs • Also called behavior • Linked to event in Event editor • Behavior – when method linked to event is performed due to an action
Creating An Event Click on create new event in Events window
6.1 Alice Events • When the world starts • When a key is typed • When the mouse is clicked on something • While something is true • When a variable changes • Let the mouse move <object> • Let the arrow keys move <subject> • let the mouse move the camera • Let the mouse orient the camera • See Table 7-1 on page 272 for details of each
6.1 Specialized Events • Some events from the previous list do not appear in the Events Editor • While a key is typed (When a key is typed) • While the mouse is pressed on something (When mouse clicked on) • While the world is running (when world starts) • When something becomes true (While something becomes true) • To create specialized event • Create general event in parenthesis above • Right-click and select change to action on left above
6.2 Key Typed Event • Alice can detect when a key on keyboard is pressed • Event is triggered when the user types a key • Keyboard key that triggers event must be specified • any key is the placeholder until you choose a specific key • Can have event activated when any key is pressed • Click on Nothing • Choose custom method from drop down menu
Tutorial 7-1: Key Press Event • Have each fairy flap her wings and move up and down when a key is pressed called fly • When G is pressed event to cause Gossamer to fly • When M is pressed event to cause Hazelnut to fly
Storyboards Event: G key is pressed Response: Do together Flap wings of Gossamer Move Gossamer up ½ meter Do together Flap wings of Gossamer Move Gossamer down ½ meter Event: M key is pressed Response: Do together Flap wings of Hazelnut Move Hazelnut up ½ meter Do together Flap wings of Hazelnut Move Hazelnut down ½ meter
Programs for Faeries Flying Both events can run at same time
Mouse Event • Interactive programs often allow the user to use a mouse to click • Examples • Buttons in a windows-based interface • Choose targets in a game • Select items on a form checklist
6.2 Creating Mouse Event • Event is triggered when the mouse is clicked on an object in the world • Click on create new event and choose When the mouse is clicked on something • It can be • Anything • Any object in the Alice World • Choose event handler by clicking on nothing
Tutorial 7-3: Mouse Event • Click on refrigerator door causes door to open • Can place Alice statement directly in event declaration
Fridge Door Opens and Closes • To get door to open and close you need to remember the state of the door • Is it open or closed? • Use boolean variable: doorOpen • If doorOpen = true then door is open • Close door • Set doorOpen to false • If doorOpen = false then door is closed • Open door • Set doorOpen to true
Storyboard Event: Mouse clicked on fridge door Response: If doorOpen = true Turn door right ¼ revolution doorOpen = false Else Turn door left ¼ revolution doorOpen = true
Create Your Own People Models • Use hebuilder and shebuilder • In People gallery • Choose all features of person • Has built-in methods • hello, angry, happy, walk, confused, no, yes
Homework • Read chapter 6 sections 1 and 2 • Answer questions in handout • Do lab assignments after handing in answered questions • Due one week after assigned with 1 week grace