Chapter 7 part 1

Download Report

Transcript Chapter 7 part 1

Events
Chapter 7
Interactivity


The real world is interactive
User determines order of actions instead of
programmer
Control of Flow

How sequence of actions in program is controlled
o

What action happens first, next, and so on
Animations
o
o
Movie-style - programmer determines sequence of
actions prior program running
Interactive - sequence of actions determined at
runtime by user
Event

Program reacts to
o
o
o

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 event is generated
o

An event is “something that happens”
An event may
o
o
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
Linked to event in Event editor
Behavior – when method linked to an event
is performed due to an action
Creating An Event
Click on create new event in Events window
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
To create specialized event
o
o

6.1
Create general event in parenthesis below
Right-click and select change to action on left below
Specialized Events
o
o
o
o
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)
Key Typed Event

6.2
Alice can detect when a key on keyboard is pressed
o
Event is triggered when the user types a key
Keyboard key that triggers event must be specified
o
any key is placeholder until specific key is chosen
o

o
Can have event activated when any key is pressed
To associate event with key press


Click on Nothing
Choose custom method from resultant 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
o
o
When G is pressed event to cause Gossamer to fly
When M is pressed event to cause Hazelnut to fly
Fairy Flying Algorithms
Event: G key is pressed
Event: M key is pressed
Response:
Do together
Flap wings of Gossamer
Move Gossamer up ½ meter
Do together
Flap wings of Gossamer
Move Gossamer down ½ meter
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
o
o
o
Buttons in a windows-based interface
Choose targets in a game
Select items on a form checklist
Creating Mouse Event

Click on create new event and choose When the

It can be
mouse is clicked on something
o
o

Anything
Any object in the Alice World
Choose event handler that will be run by clicking
on nothing
6.2
Tutorial 7-3: Mouse Event

Click on refrigerator door causes door to open
o
o
Can place Alice statement directly in event declaration
Notice that there is no way to close the door once it is
opened
Fridge Door Opens and Closes

To get door to open and close you need to
remember the state of the door
o
o

If doorOpen = true then door is open
o
o

Is it open or closed?
Use a Boolean variable: doorOpen
Close the door
Set doorOpen to false
If doorOpen = false then door is closed
o
o
Open the door
Set doorOpen to true
Door Open/Close Algorithm
Event: Mouse clicked on fridge door
Response:
If doorOpen = true
Turn door right ¼ revolution
doorOpen = false
Else
Turn door left ¼ revolution
doorOpen = true
Program to Open and Close Door
Create Your Own People Models

Use hebuilder and shebuilder
o
o
o
In People gallery
Choose all features of person
Has built-in methods

hello, angry, happy, walk, confused, no, yes
Choosing Body Features
•
Hebuilder/Shebuilder
•
•
•
•
User selects the head, body, and leg types
User selects skin color,
eyes, and mouth
User selects hair style and
color
User selects the clothing
People Models Custom Methods
•
Hebuilder and
Shebuilder have
custom methods
Homework



Read chapter 6 sections 1 and 2
Do lab assignments in handout
Due one week after assigned with 1 week grace