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