Eventdriven programming EventDriven Programming Most modern computer programs

  • Slides: 36
Download presentation
Event-driven programming

Event-driven programming

Event-Driven Programming Most modern computer programs that people use have Graphical User Interfaces (GUIs).

Event-Driven Programming Most modern computer programs that people use have Graphical User Interfaces (GUIs). A GUI has icons on the computer screen and a mouse (or other device) to control a pointer that can be used to operate the computer.

Event-Driven Programming Most modern computer programs that people use have Graphical User Interfaces (GUIs).

Event-Driven Programming Most modern computer programs that people use have Graphical User Interfaces (GUIs). A GUI has icons on the computer screen and a mouse (or other device) to control a pointer that can be used to operate the computer. An Introduction to Programming Using Alice

This slide is an image of Microsoft Word 2007. It is an example of

This slide is an image of Microsoft Word 2007. It is an example of a modern graphical user interface.

Modern GUIs like the Word 2007 interface require the use of event-driven programming. An

Modern GUIs like the Word 2007 interface require the use of event-driven programming. An event occurs whenever an event listener detects an event trigger and responds by running a method called an event handler.

An event occurs whenever an event listener detects an event trigger and responds by

An event occurs whenever an event listener detects an event trigger and responds by running a method called an event handler.

An event occurs whenever an event listener detects an event trigger and responds by

An event occurs whenever an event listener detects an event trigger and responds by running a method called an event handler. Modern operating systems and programming languages contain facilities to let programmers set up event listeners.

An event trigger can be almost any activity or condition selected by the programmer,

An event trigger can be almost any activity or condition selected by the programmer, such as a mouse movement, someone pressing the enter key, or a bank account balance changing.

An event handler is a method that is activated when the event trigger occurs.

An event handler is a method that is activated when the event trigger occurs. Almost any method can serve as an event handler, such as those that play sounds, initiate data communications, or perform calculations.

In Alice… • Events can be used to control objects moving in 3 D

In Alice… • Events can be used to control objects moving in 3 D space. – Detect when some object moves – Detect when two objects collide – Make objects move in response to mouse or keyboard commands. • So before discussing events in Alice, let’s talk about 3 D space a little more.

3 D space • A dimension is a way of measuring something. • We

3 D space • A dimension is a way of measuring something. • We create a dimension whenever we assign a value on a continuous scale to some property. • Example: On a scale of 1 to 100, how much do you approve of George Bush’s performance as president?

Measuring distance • If you wish to measure the location of a point on

Measuring distance • If you wish to measure the location of a point on a straight line, then you only need one number. • You could mark a start point on the line, and then measure how far a point is from the start point • By using negative and positive numbers, you could also indicate which direction the distance spans.

Orientation • In addition, to the concepts of distance and direction, we also have

Orientation • In addition, to the concepts of distance and direction, we also have the concept of orientation. • Orientation means the direction the object is facing. • If an object is facing the positive direction on the line, its orientation is forward. • If facing negative, then backward.

Point of view • Location and orientation together are known as the point of

Point of view • Location and orientation together are known as the point of view of an object.

Two ideas of direction • Absolute vs. object-relative. • Absolute direction of boy on

Two ideas of direction • Absolute vs. object-relative. • Absolute direction of boy on bike I backward, but forward in relation to Alice

Object-relative positions • From the coach’s point of view, Alice is behind the boy,

Object-relative positions • From the coach’s point of view, Alice is behind the boy, while the coach is in front of the boy.

Position in 2 D • On a flat surface, like a sheet of paper,

Position in 2 D • On a flat surface, like a sheet of paper, you need two values to specify an object’s position (two dimensions). • Rene Descarte developed a system of quantification for two dimensions. • This is called Cartesian coordinates. • Cartesian coordinates have an X axis (dimension) and Y axis. • The coordinates of a point are always specified as x, y.

A third dimension • Moving up and down off a flat plane requires a

A third dimension • Moving up and down off a flat plane requires a third axis or dimension. • Instead of an ordered pair to represent position, we need an ordered triplet (x, y, z). • In Alice the z axis provides a measurement of depth. • 3 D space is sometimes called Euclidean 3 -space after the Greek mathematician, Euclid.

Absolute vs. Object-relative • For all objects we must be aware of absolute position

Absolute vs. Object-relative • For all objects we must be aware of absolute position and direction • However, we are most commonly concerned with object-relative position and direction.

More on object-relativity • We must also frequently consider the movement of objects from

More on object-relativity • We must also frequently consider the movement of objects from the perspective of other objects. • See Shark. As. Seen. By. Example. a 2 w

Events in Alice

Events in Alice

Events in Alice events are created in the events area of the standard Alice

Events in Alice events are created in the events area of the standard Alice interface. events area

Events in Alice events are created in the events area of the standard Alice

Events in Alice events are created in the events area of the standard Alice interface. events area

Events in Alice An Alice event tile specifies the event trigger and the event

Events in Alice An Alice event tile specifies the event trigger and the event handler. In this example, the event trigger is the spacebar, being pressed and the event handler is the ice. Skater’s simple. Spin method.

Events in Alice The create new event button will reveal a menu with nine

Events in Alice The create new event button will reveal a menu with nine different event types. create new event button

Events in Alice The create new event button will reveal a menu with nine

Events in Alice The create new event button will reveal a menu with nine different event types.

Events in Alice A programmer can pick the event type that has the desired

Events in Alice A programmer can pick the event type that has the desired event trigger.

Events in Alice A programmer can pick the event type that has the desired

Events in Alice A programmer can pick the event type that has the desired event trigger. Some event types also have built-in event handlers…

Events in Alice A programmer can pick the event type that has the desired

Events in Alice A programmer can pick the event type that has the desired event trigger. Some event types also have built-in event handlers… In other cases, programmers must specify the handler.

Event handlers are specified by dragging method tiles from the details area and dropping

Event handlers are specified by dragging method tiles from the details area and dropping them into the event tile.

Exploring Events • Start Alice and open the amusement. Park example world. • In

Exploring Events • Start Alice and open the amusement. Park example world. • In the events area, you should see sevent tiles.

Amusement Park Events

Amusement Park Events

Event-Driven Programming • Events are an important part of Alice programming, allowing the creation

Event-Driven Programming • Events are an important part of Alice programming, allowing the creation of interactive worlds with keyboard and mouse user controls. • Most modern programming languages allow programmers to add events to new software. • Events can be used for many other purposes, such as controlling burglar alarms, checking remote sensors, or checking for system events, like printers running out of paper. • Events are an important part of modern computer programming.