Difference between revisions of "Actionscript"
From Wikicliki
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.
- http://www.kirupa.com/developer/actionscript/spring.htm
- http://www.bit-101.com/tutorials/elasticity.html
Contents
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