Difference between revisions of "Actionscript"

From Wikicliki
Jump to: navigation, search
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.


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

See Also