Difference between revisions of "Actionscript"
From Wikicliki
Line 3: | Line 3: | ||
*[[Actionscript Sandbox]] | *[[Actionscript Sandbox]] | ||
+ | |||
+ | |||
+ | |||
+ | == code hinting suffixes/names== | ||
+ | |||
+ | to keep in good form you should keep to these common suffixes so that any programmer can read your code easily without finding it utterly incomprehensible. | ||
+ | |||
+ | variables: | ||
+ | *must start with letters, underscore or dollarsign. | ||
+ | *no hyphens or other punctuation besides the underscore. | ||
+ | *cannot start with a number. | ||
+ | *are case-insensitive, but keep it constant or you might get confused | ||
+ | |||
+ | *xxx_str // means the variable contains a string | ||
+ | *xxx_arr // means the variable contains an array | ||
+ | |||
+ | *[http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001151.html More about using suffixes to trigger code hints] | ||
+ | |||
+ | == conditionals == | ||
+ | |||
+ | <pre>var message = "yellow"; | ||
+ | trace ("big " + message + " truck"); // prints "big yellow truck" | ||
+ | if (message == "yellow") { | ||
+ | trace ("yes, i did say big yellow truck."); // prints "yes, i did say big yellow truck" | ||
+ | }</pre> | ||
+ | |||
+ | <pre>= assigning value | ||
+ | == comparing values</pre> | ||
+ | |||
+ | == loops == | ||
+ | |||
+ | <table><tr><td valign=top>this sequence... <pre>trace (101); | ||
+ | trace (102); | ||
+ | trace (103); | ||
+ | trace (104); | ||
+ | trace (105);</pre></td> | ||
+ | <td valign=top>is equal to: | ||
+ | <pre>var x = 101; | ||
+ | trace (x); | ||
+ | x = x + 1; | ||
+ | trace (x); | ||
+ | x = x + 1; | ||
+ | trace (x); | ||
+ | x = x + 1; | ||
+ | trace (x); | ||
+ | x = x + 1; | ||
+ | trace (x);</pre></td> | ||
+ | <td valign=top>is also equal to: | ||
+ | <pre>var x = 101; | ||
+ | while (x <= 105) { // as long as x is less than 105... | ||
+ | trace (x); | ||
+ | x = x + 1; // ...continue to trace x but add one each time | ||
+ | }</pre></td> | ||
+ | <td valign=top>they all print: | ||
+ | <pre>101 | ||
+ | 102 | ||
+ | 103 | ||
+ | 104 | ||
+ | 105</pre></td></tr></table> | ||
+ | |||
+ | == functions == | ||
+ | |||
+ | sample: | ||
+ | |||
+ | <pre>function area(height, width){ | ||
+ | return height * width; | ||
+ | } | ||
+ | area1 = area(10,15); | ||
+ | area2 = area(10,20); | ||
+ | area3 = area(10,20); | ||
+ | </pre> | ||
+ | |||
+ | == event based execution == | ||
+ | |||
+ | <pre>someObject.onSomeEvent = someFunction;</pre> | ||
+ | |||
+ | for example: | ||
+ | <pre>skaGirl.onRelease = dirtyskanking; // the object named skaGirl will dirtyskank when mouse is released | ||
+ | |||
+ | function dirtyskanking () { | ||
+ | this._parent._rotation = 360; // defines the rotation of the dirtyskanking. | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | == sample == | ||
+ | |||
+ | === quiz === | ||
+ | |||
+ | <pre> | ||
+ | button1.onRelease = function () { // on pressing button 1 | ||
+ | this._parent.q1answer = 1; // assigning 1 to q1 answer | ||
+ | this._parent.gotoAndStop("q2") // after which we go to frame labelled as q2 | ||
+ | } | ||
+ | |||
+ | if (q1answer == 3) { // if answer was right | ||
+ | totalCorrect = totalCorrect++; // increase number of total correct qns by one | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | == confused about root, this, and parent? so am i! == | ||
+ | |||
+ | this piece of code would work ON a frame on the main stage, one_mc being an object onnit. | ||
+ | |||
+ | <pre>function T1over() { | ||
+ | _root.one_mc.gotoAndStop(2); | ||
+ | getURL('javascript:modifyT1();'); | ||
+ | } | ||
+ | |||
+ | _root.one_mc.onRollOver = T1over;</pre> | ||
+ | |||
+ | == actionscript and javascript == | ||
+ | |||
+ | *[http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_15683 flash to/from javascript call] | ||
+ | *[http://board.flashkit.com/board/archive/index.php/t-578023.html halp i am so confused] | ||
== tips == | == tips == |
Revision as of 16:46, 17 June 2008
actionscript, that infuriatingly intractable marshmellow fluff... so far i have only understood the most basic of concepts, but now i will try to learn it well.
Contents
code hinting suffixes/names
to keep in good form you should keep to these common suffixes so that any programmer can read your code easily without finding it utterly incomprehensible.
variables:
- must start with letters, underscore or dollarsign.
- no hyphens or other punctuation besides the underscore.
- cannot start with a number.
- are case-insensitive, but keep it constant or you might get confused
- xxx_str // means the variable contains a string
- xxx_arr // means the variable contains an array
conditionals
var message = "yellow"; trace ("big " + message + " truck"); // prints "big yellow truck" if (message == "yellow") { trace ("yes, i did say big yellow truck."); // prints "yes, i did say big yellow truck" }
= assigning value == comparing values
loops
this sequence... trace (101); trace (102); trace (103); trace (104); trace (105); |
is equal to:
var x = 101; trace (x); x = x + 1; trace (x); x = x + 1; trace (x); x = x + 1; trace (x); x = x + 1; trace (x); |
is also equal to:
var x = 101; while (x <= 105) { // as long as x is less than 105... trace (x); x = x + 1; // ...continue to trace x but add one each time } |
they all print:
101 102 103 104 105 |
functions
sample:
function area(height, width){ return height * width; } area1 = area(10,15); area2 = area(10,20); area3 = area(10,20);
event based execution
someObject.onSomeEvent = someFunction;
for example:
skaGirl.onRelease = dirtyskanking; // the object named skaGirl will dirtyskank when mouse is released function dirtyskanking () { this._parent._rotation = 360; // defines the rotation of the dirtyskanking. }
sample
quiz
button1.onRelease = function () { // on pressing button 1 this._parent.q1answer = 1; // assigning 1 to q1 answer this._parent.gotoAndStop("q2") // after which we go to frame labelled as q2 } if (q1answer == 3) { // if answer was right totalCorrect = totalCorrect++; // increase number of total correct qns by one }
confused about root, this, and parent? so am i!
this piece of code would work ON a frame on the main stage, one_mc being an object onnit.
function T1over() { _root.one_mc.gotoAndStop(2); getURL('javascript:modifyT1();'); } _root.one_mc.onRollOver = T1over;
actionscript and javascript
tips
- use frame labels rather than frame numbers. you could call a starting frame "init".
- dont use too many functions