휴대인터넷 무선환경에서의 효과적인 Broadcast/Multicast 적

Download Report

Transcript 휴대인터넷 무선환경에서의 효과적인 Broadcast/Multicast 적

Scripting and Interactivity
2006. 4. 25
이병희
[email protected]
Event Driven System

Associate actions with event, so when the user does something,
something happens in response


Most events initiated by user : mouse click, key presses etc..
Actions
 Multimedia environment provide predefined set of actions : behaviors
 User can define own action by providing scripting language
 Write a script that perform the desired action when it is executed

Scripting Language

Definition of a scripting language
… programming language that is used to manipulate,
customize and automate that facilities of an existing system

Provide control structures and basic types for computation, plus objects
and data types belonging to some host system
 e.g. JavaScript: core language plus objects representing browser window,
document, etc
2
이병희 <[email protected]>
ECMAScript




Scripting language Standard based on JavaScript and JScript
(Netscape and Microsoft scripting languages for WWW)
Produced by European Computer Manufacturers' Association
(ECMA)
Only defines a core language, which is not computationally selfsufficient
Must be augmented with host objects to manipulate a host
system

3
e.g. JavaScript = ECMAScript + host objects for a Web browser (W3C
DOM)
이병희 <[email protected]>
Expressions and Variables

ECMAScript recognize three different types





Numbers and arithmetic follow usual rules, using C-like
operators (+, -, *, /, %)
String literals in " " or ' ', usual \ escapes, + used as
concatenation operator


4
Number : used for arithmetic
String : storing and altering text
Boolean : true value
e.g. : “digital”+”multimedia” is equal to “digitalmultimedia”
Boolean values are true or false; combine with Boolean
operators (!, &&, ||)
이병희 <[email protected]>
Variables and Assignment

Variables



Variables are location(container) that can hold a value
Value stored in a location can be changed by assignment
ECMAScript is an untyped language
 ECMAScript variables are untyped
 The same variable can hold a number, string or Boolean at different times
 No need to declare variables before use

Assignment




= is the assignment operator
Simple assignment: variable = expression
Left hand side can be more complicated
Compound assignment operators +=, *= etc provide shorthand for
common pattern
 x += a is equivalent to x = x+ a etc
 x++ and ++x are equivalent to x += 1
5
이병희 <[email protected]>
Arrays

Aggregate data structure


array is an aggregate data structure consisting of a sequence of
values


Collection of values that can be treated as a single entity and may be
assigned to a variable
Each element of the array can be identified by a numerical index – its
position in the sequence
Array operation

Create an array
 a = new Array();
 No need to specify the number of elements, the array will grow as needed


Number of elements in a is a.length
Associative arrays

Array indexes may be strings
 Implement lookup tables – mapping from strings to values
 month_values["Jan"] = 0;
 Use same indexing notation as numerically indexed arrays
6
이병희 <[email protected]>
Functions



Form of abstraction
Give a name to a computation (define a function), perform the
computation by using the name (call the function)
Function Definition




function (formal parameters) { body }
Formal parameters behave like variables
within function body
Values of arguments are assigned to the formal
parameters when the function is called
Body may include a return statement
 the value of the following expression is the result
7
이병희 <[email protected]>
Objects

Program is organized as a collection of object


ECMAScript is object-based


Support the creation and manipulation of objects
object comprises



Web browser could be make out of objects that model documents,
windows, images and so on
A collection of named data items, known as properties
A collection of operations (functions), known as methods
Built-in objects

Math
 Properties are useful constants, such as Math.PI, Math.SQRT2, Math.E
 Methods provide trig functions, exponentials and logs, random numbers

Array
 All arrays inherit properties and methods, e.g. Array.length

String
 Useful methods for operating on strings, inherited by all strings
8
이병희 <[email protected]>
World Wide Web Client-side Scripting

WWW offers two potential host environments for scripting
language

Server-side
 Used to enable an HTTP server to communicate with other resources

Client-side
 Used to control the display of media elements
 Executing a script : allowing executable code that has been downloaded from
Internet
 Scripts running in a web browser can’t access any local resource
 Client-side scripts are secure
 Just can modify browser’s display in response to user event

ECMAScript need interface to be able to interact with web browser
 W3C’s Document Object Model (DOM) defines a language-independent,
abstract interface to web browser
9
이병희 <[email protected]>
Document Object





Document object plays a primary role among the host objects
Provides an interface to an HTML document
Contains properties holding document’s title and information
derived from the HTTP request ( URL, referrer, etc)
has several methods which writes its argument into current
document (ex. write)
Individual elements can be accessed using getElementById


Document object is related with document currently being
displayed when the script is executed

10
Return an object corresponding to an element with an id
Script element is used to embed script in documents
이병희 <[email protected]>
Script in Web Page

Use the script element to embed a script


When page is loaded, all scripts are executed with document object
Simple example
<html>
<head>
<title>Dynamically generated content</title>
</head>
<body>
<script type=“text/javascript”>
Document.write(‘<h1>’ + document.title + ‘</h1>’);
</script>
</body>
</html>


11
Script is executed at the point it is encountered, its output
replaces the script element
Can produce dynamic page via script element and document
object
이병희 <[email protected]>
Event Handler

Interaction required from web pages is concerned with controlling the flow of
information


Achieved by using on screen control, icon image, etc
Elements may have special attributes, whose name identifies a class of events, value is a piece
of code to execute when the event occurs




Often the value is a call to a function (event handler)
Usually defined in a script in the document head
Rollovers





Change appearance of button when the cursor is moved over it
Provides useful feedback to the user
Implemented by changing the src attribute of an img element
The document.images array contains objects for all images in the document
Use onMouseOver and onMouseOut handlers to change the image as the cursor moves over
and leaves the image



12
onClick, onDblClick, onKeyDown, … etc.
Handlers defined in document head:
function in_image() {
document.images['circlesquare'].src = 'images/circle.gif';
}
function out_of_image() {
document.images['circlesquare'].src = 'images/square.gif';
}
< img src="images/square.gif" alt="square or circle" onMouseOver="in_image()"
onMouseOut="out_of_image()" id="circlesquare" />
이병희 <[email protected]>
Scripts and stylesheets

Content can be separated from appearance


Script need to be able to manipulate stylesheets to change appearance
Two ways to change style

Changing the style applied to a particular document element
 Each element's object has a style property, which has properties
corresponding to the styles applied to the element
 By assigning to properties of the style, the element's appearance, position etc
can be changed

Altering the stylesheet applied to an entire document
 styleSheet & CSSRules
 styleSheet : an array containing an object for each style element in the document
 CSSRules : contain an object for each rule in style element
 Each rule has a selectorText property and style property
Document.styleSheets[0].cssRules[1].style.color = ‘blue’;
13
이병희 <[email protected]>
Behaviors





14
Scripts offer the potential for controlling the user interface
For common task, remove the necessity for scripting by
providing parameterized action (behaviors)
Behavior is an abstraction of a class of actions (e.g. display a
message)
specific action is generated by providing values for the
behavior's parameters (e.g. text of a message)
Authoring systems (Dreamweaver etc) provide an interface for
applying behaviors and setting parameter values
이병희 <[email protected]>
Scripting in Flash

Flash’s scripting language : ActionScript



Flash's ActionScript language is ECMAScript with a set of host objects
corresponding to elements of Flash movies
has objects for analyzing XML data, communicating with servers, … for
building Web applications with Flash front-ends
Use Flash's Actions panel to create scripts
 Just type code, or build scripts by adding constructs from a list and supplying
parameters

Three types of element to which script can be attached



15
Frame script
Button symbols
Movie clips
이병희 <[email protected]>
Attaching Scripts

Frame script




Script can be attached to any keyframe
Script is executed when the palyhead enters the frame
Frame scripts respond to the single event caused by the palyhead enters
the frame
Button symbols


Type of symbol that responds to user input
Built as animations that have exactly four frames
 Up, Over, Down, Hit
 Up, Over, Down : correspond to states of the button
 Hit defines the area (active area) in which it responds to mouse event

Movie Clip



16
Any movie clip can receive events and have scripts attached to it
Slightly different, more general set of events than for buttons
As well as user input, movie clips can also respond to events related to
loading and unloading and the receipt of data
이병희 <[email protected]>
Movie clip methods and Properties

Script can be used to control movie clips in response to event




Possibility of Interactive animation
Movement of object is controlled by user interaction
In order to control a clip, clip must be given an instance name
Movie clip’s instance name can be used in scripts


Objects in script refer to movie clips
Objects have collection of properties of the clip
 Total number of frames, current frame, dimensions, etc

Call methods and access properties using the instance name
and dot notation

If instance name is theClip
 theClip.stop()
 theClip.play()
17
이병희 <[email protected]>