Difference between revisions of "Actionscript"

From Wikicliki
Jump to: navigation, search
Line 9: Line 9:
  
  
 +
== alpha ==
 +
<pre>
 +
// set movie clip's alpha (transparency) to 50% immediately
 +
myMC._alpha = 50%
 +
 +
// set up alphacounter, if alphacounter is undefined then it sets it to 99. otherwise alphacounter is to decrease to 0 and delete itself.
 +
myMC.onEnterFrame = function (){
 +
this.alphaCount = (this.alphaCount == undefined) ? 99 : --this.alphaCount;
 +
this._alpha = this.alphaCount;
 +
if (this._alpha <= 0) {
 +
delete this.onEnterFrame;
 +
}
 +
}
 +
 +
// change it to ++ to make it go up
 +
</pre>
  
 
== Codehinting ==
 
== Codehinting ==

Revision as of 14:22, 15 September 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.


alpha

// set movie clip's alpha (transparency) to 50% immediately
myMC._alpha = 50%

// set up alphacounter, if alphacounter is undefined then it sets it to 99. otherwise alphacounter is to decrease to 0 and delete itself.
myMC.onEnterFrame = function (){
this.alphaCount = (this.alphaCount == undefined) ? 99 : --this.alphaCount;
this._alpha = this.alphaCount;
	if (this._alpha <= 0) {
	delete this.onEnterFrame;
	}
}

// change it to ++ to make it go up

Codehinting

to keep with good practice 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