ADOBE FLEX Action Script Basics MXML Action Script
ADOBE FLEX Action Script Basics. MXML
Action Script 3. 0 Language Basics
Action Script 3. 0 Data Types Primitive types var i: int = -1; var u: uint = 0; Boolean, String References var o: Object; var c: Class = String; var s: String = new c; var x: * = …
Action Script 3. 0 Type System Non-Strict typing vs Strict Typing var o: Object = …; var x: * = … Classes are Objects (Array is Object) == true (int is Object) == true (Object is Object) == true (Class is Object) == true Name of class x. class. Name Class from name var c: Class = get. Definition. By. Name(“Array”) as Class;
Action Script 3. 0 Objects are Dynamic fields var o: Object = {name: "John", lname: "Smith"}; o. age = 23; o[“address”] = “New York”; Dictionary vs Object as dictionary var d: Dictionary = new Dictionaty; var o: Object = new Object; d[“hello”] = 1; o[“hello”] = 1; d[o] = 2; o[o] = 2;
Action Script 3. 0 Other Basic Types Array var a: Array = new Array; var b: Array = [1, 2, 3]; concat, filter, for each, map, index. Of, length, pop, push, reverse, slice, sort, splice, shift, unshift Array Collection add. Item, add. Item. At, get. Item. At, contains, set. Item. At, to. Array Boolean String
Action Script 3. 0 Other Basic Types String: the way we want it, but confusing sometimes == <, >… length, index. Of, last. Index. Of, match, replace, slice, split, substr, char. Ar, char. Code. At, concat, search, to. Lower. Case, to. Upper. Case
Action Script 3. 0 Basic Statements if-then-else if ( <condition> ) <then statement(s)> else <else statement(s)> for, while for (var i: int = 0; i < 10; i++) <statemen(s)> for each (var o: Object in Some. Array) <statement(s)> for each (var t: Some. Type in Some. Array) <statement(s)> Switch, break, try-catch, return, etc.
Action Script 3. 0 Classes and methods Classes class My. Class : extends your. Class { public function my. Method (i: int, j: int): int { return 0; } public override function your. Function (): void {} } No method overloading Explicit overriding super keyword, this keyword public constructor
Action Script 3. 0 class My. Class Properties { private var _my. Number: Number = 0; public function set my. Number (n: Number): void { _my. Nymber = n; //do something else } public function get my. Number (): Number { //do something else return _my. Number; } } Usage { var my: My. Class = new My. Class; my. Number = 5; }
Action Script 3. 0 Static Methods class My. Class { private static var count: Number = 0; public static function get. Count (): Number { return count++; } } //… My. Class. get. Count () == My. Class. get. Count() + 1
Action Script 3. 0 Inheritance Single inheritance only Multiple inheritance with Interfaces interface IMy. Interface { public function my. Method (): Number; } class my. Class extends Your. Class implements IMy. Interface, IYour. Interface { //… }
Action Script 3. 0 Tracing & Output Integrated debugger trace (…) function Alert. show (…) method
Action Script 3. 0 & XML var xml: XML = <people> trace(xml. student[0]. name); <student age="23"> <name>Ivan</name> trace(xml. student. length()); <group>2</group> trace(xml. student. (@age<22). length()); </student> <student age="19"> <name>Petyr</name> <group>2</group> </student> <student age="20"> <name>Stefan</name> <group>2</group> </student> <teacher age="27"> <name>Ivan</name> <group>2</group> <group>3</group> <group>4</group> </teacher> </people>; trace(xml. student[0]. @age);
Applications Execution
Synchronous Input Program logic time Console application
User Event (Button Click) Event Queue Dispa tch ev ent Internal Event (Timer) Events Messages sent from Objects to Objects l nd Ha t en v ee Registere d Listener (Window)
External Events al rn Inte ts n e Ev Message Pump Program Logic Message Pump
time fames Function execution u n Ma is al d pa tch Hander A Hander B Hander C Events Flex Application Execution Model • Frames Per Second • Execution Time Limit
MXML XML? Action Script?
MXML Motivation Markup languages are common Easier Maintenance of the Layout Designers can work on the UI Simplified access of language features
MXML What Happens My. MXLExample. mxml: <mx: Application …> <mx: Text. Area id=“my. Text” width = “ 100” height = “ 100”/> </mx: Application> This code is transformed to Action Script code class My. MXMLExample extends Application { public var my. Text: Text. Area; //… some method { my. Text = new Text. Area; my. Text. width = 100; my. Text. height = 100; } }
Thank you!
- Slides: 23