Это довольно просто на самом деле.В вашей Flash есть класс Seat, который загружается из вашего XML (рекомендуется AMF намного лучше).
Предполагается, что XML выглядит следующим образом:
<seatMap>
<seat available="0" row="23" alley="I"/>
<seat available="1" row="23" alley="J"/>
<seat available="0" row="23" alley="K"/>
</seatMap>
Основной класс выглядит так:
package {import flash.display.Sprite;import flash.events.Event;
public class Main extends Sprite
{
public function Main() {
//Code to load XML
}
public function onXMLLoaded(e:Event):void {
var seatMap:XML = new XML(e.target.data);
for each(var seat:XML in seatMap.seat) {
var mySeat:Seat = new Seat(seat);
//Do magic to place seat on stage
this.addChild(mySeat);
}
}
}
}
Класс вашего места должен выглядеть примерно так:
package{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Seat extends MovieClip
{
private var _isAvailable:Boolean;
private var _row:int;
private var _alley:String;
public function Seat(seatDef:XML) {
this._isAvailable = (seatDef.@available !== null)? seatDef.@available : false;
this._row = seatDef.@row;
this._alley = seatDef.@alley;
this._bindListeners();
}
private function _bindListeners():void {
if (this._isAvailable) {
this.addEventListener(MouseEvent.MOUSE_DOWN, this.onClick);
}
//blah
}
public function onClick(e:MouseEvent):void {
//do magic
}
}
}