絵を描き、その都度のxy座標を一つの配列に記録するものを作っています。
絵を描き、その都度のxy座標を一つの配列に記録するものを作っています。
http://okwave.jp/qa/q6110995.html の続きです
長くて申し訳ありません
(1)マウスのボタンが押されたとき、またその状態でカーソルが動いたときに配列xyにその時の座標drawX,drawYを追加する。次にそれを新しい配列hitohudeの末尾に追加する 現在hitohude = { (drawX1,drawY1),(drawX2,drawY2),(drawX3,drawY3)...}
(2)マウスのボタンが上がったら配列allに(1)で作った配列hitohudeを追加する
これを文字や絵の画数の数だけ繰り返し
all = [ { (x1-1,y1-1),(x1-2,y1-2),(x1-3,y1-3)...} , { (x2-1,y2-1),(x2-2,y2-2),(x2-3,y2-3) }... ]
( ):その都度の座標 { }:一筆の中での座標の集合 [ ]:各筆の集合
を作り、all[5][9][0]のように6筆目の9番目のプロットのx座標を呼び出したりできるようにしたいです。
しかし、BIGIN以外の関数内でhitohudeが読めず、エラーが出てしまいます
http://help.adobe.com/ja_JP/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9d.html
で説明されていることが原因だと思うのですが、どうすればよいでしょうか?
import fl.motion.MotionEvent;
import flash.sensors.Accelerometer;
masu.addEventListener(MouseEvent.MOUSE_DOWN,BIGIN);
masu.addEventListener(MouseEvent.MOUSE_UP,END);
var all:Array = new Array();
function BIGIN(eventObject:MouseEvent):void {
var drawX = Math.round(mouseX - masu.x);
var drawY = Math.round(mouseY - masu.y);
comma.text = ","
Xzahyo.text = drawX;
Yzahyo.text = drawY;
var hitohude:Array = new Array(); //ここ
var xy:Array = new Array();
xy.push(drawX,drawY);
hitohude.push(xy);
masu.graphics.lineStyle(Number(hutosa.text),0x000000);
masu.graphics.moveTo(drawX,drawY);
masu.addEventListener(MouseEvent.MOUSE_MOVE,DRAW);
}
function DRAW(eventObject:MouseEvent):void {
var drawX = Math.round(mouseX - masu.x);
var drawY = Math.round(mouseY - masu.y);
Xzahyo.text = drawX;
Yzahyo.text = drawY;
var xy:Array = new Array;
xy.push(drawX,drawY);
hitohude.push(xy);
masu.graphics.lineTo(drawX,drawY);
}
function END(eventObject:MouseEvent):void {
masu.removeEventListener(MouseEvent.MOUSE_MOVE,DRAW);
all.push(hitohude);
trace(hitohude);
}
よろしくお願いします