Oops sorry, it is actually DisplayObject, I just typed the wrong thing there.
That could probably work. Let me try that real quick.
Edit: Yes, it works now! Thanks for the help :)
Printable View
Oops sorry, it is actually DisplayObject, I just typed the wrong thing there.
That could probably work. Let me try that real quick.
Edit: Yes, it works now! Thanks for the help :)
Aww man. And I was just about to post this:
PHP Code:package
{
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import gs.TweenLite;
/**
* ...
* @author srs
*/
public class Main extends Sprite
{
private var word:String;
private var letters:Array;
private var first:Sprite;
private var second:Sprite;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
letters = new Array();
setWord("5TonsOfFlax");
}
public function setWord(w:String):void {
for (var i:int = 0; i < letters.length; i++) {
removeChild(letters[i]);
}
letters = new Array();
word = w;
var wordLetters:Array = w.split("");
//shuffle array. first way that came to mind
var positionsFirst:Array = [];
for (i = 0; i < wordLetters.length; i++) {
positionsFirst[i] = i;
}
var positions:Array = [];
while (positionsFirst.length > 0) {
positions.push(positionsFirst.splice(Math.floor(Math.random() * positionsFirst.length), 1)[0]);
}
//end shuffle
for (i = 0; i < wordLetters.length; i++) {
var s:Sprite = new Sprite();
var tf:TextField = new TextField();
tf.autoSize = TextFieldAutoSize.LEFT;
tf.text = wordLetters[i];
s.addChild(tf);
s.x = positions[i] * 25 + 100;
s.y = stage.stageHeight/2;
addChild(s);
s.addEventListener(MouseEvent.CLICK, clickLetter);
}
}
private function swap(a:DisplayObject, b:DisplayObject):void {
TweenLite.to(a, 1, { x:b.x, y:b.y } );
TweenLite.to(b, 1, { x:a.x, y:a.y } );
}
private function clickLetter(e:Event):void {
var s:Sprite = Sprite(e.currentTarget);
s.stopDrag();
if (first == null) {
first = s;
}else {
second = s;
swap(first, second);
first = second = null;
}
}
}
}