それを分解するには、最初に自己完結型ローダーから画像をロードするか、ユーザーにファイルを選択するオプションを与える必要があります: load image by user :
var holder = new movieClip;
Addchild(holder)
var file:FileReference;
var fileLoader:Loader;
function start()
{
loadImageBtn.addEventListener(MouseEvent.CLICK, showDialog);
}
start();
function showDialog(event:MouseEvent):void
{
file = new FileReference();
var imageFileTypes:FileFilter = new FileFilter("Images (*.png; ","*.png;");
file.browse([imageFileTypes]);
file.addEventListener(Event.SELECT, selectFile);
}
function selectFile(e:Event):void
{
file.addEventListener(Event.COMPLETE, loadFile);
file.load();
}
function loadFile(e:Event):void
{
fileLoader = new Loader();
fileLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, displayImage);
fileLoader.loadBytes(file.data);
}
function displayImage(e:Event):void
{
holder.addChild(fileLoader);
}
次に、コンテンツ内を移動できるようにする必要があります。
var maxY:Number = 0;
var minY:Number = Math.min(0,stage.stageHeight - holder.height - 300);
var _startY:Number;
var _startMouseY:Number;
addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void
{
_startY = holder.y;
_startMouseY = mouseY;
stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler, false, 0, true);
}
function stage_mouseMoveHandler(event:MouseEvent):void
{
var offsetY:Number = mouseY - _startMouseY;
holder.y = Math.max(Math.min(maxY,_startY + offsetY),minY);
}
function stage_mouseUpHandler(event:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler);
}
私が想像するようにいくつかの画像が必要な場合は、それらを読み書きし、各画像を格納する配列にプッシュし、各アイテムをグリッド型パターンのように、または独自の高さまたは幅で区切られた列に配置できます。
var array()
for (i = 0; i <items; i++)
{
items.x = 170+ i * (item.width + 1);
//you can add child
}
より良いオプションは、おそらく各ステートメント用であり、配列またはxmlのいずれかを使用して各オブジェクトを取得します..それが役立つことを願っています