flash/src/WordSprite.mxml
<?xml version="1.0"?>
<mx:HBox
xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="yellow"
borderColor="black" borderThickness="1" borderStyle="solid"
creationComplete="onCreationComplete(event)"
mouseDown="onMouseDown(event)" mouseUp="onMouseUp(event)">
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
import mx.events.FlexEvent;
private const _bound:Rectangle = new Rectangle(0, 0, 360, 160);
private var _initialX:int;
private var _initialY:int;
private var _word:Word;
private var _readOnly:Boolean = false;
public function onCreationComplete(event:FlexEvent):void
{
_initialX = x;
_initialY = y;
}
public function onMouseDown(event:MouseEvent):void
{
if (! _readOnly)
startDrag(false, _bound);
}
public function onMouseUp(event:MouseEvent):void
{
if (! _readOnly)
stopDrag();
if (x > 202)
used = true;
else
used = false;
}
public function reset():void
{
x = _initialX;
y = _initialY;
used = false;
}
public function get word():Word
{
if (_word == null)
_word = new Word(value);
_word._x = x;
_word._y = y;
return _word;
}
public function set word(word:Word):void
{
_word = word;
x = word._x;
y = word._y;
value = word._value.toString();
}
public function get readOnly():Boolean
{
return _readOnly;
}
public function set readOnly(value:Boolean):void
{
_readOnly = value;
}
]]>
</mx:Script>
<mx:Label text="{value}"/>
<mx:String id="value"/>
<mx:Boolean id="used"/>
</mx:HBox>