SSブログ

Flash制作その2

昨日に引き続き、作成したFlashについて書きたいと思います。
本日は昨日紹介したFlashの、ドラッグ&ドロップ部分のコードを説明します。

差し当たり勘定項目「現金」を、ドラッグした場合の流れを解説します。
まず作成した現金のシンボルに対して、ドラッグのイベントを追加します。

genkin.addEventListener(MouseEvent.MOUSE_DOWN,onStartDrag);

イベントに追加したfunctionは下記の通りです。
まず、ドラッグされたシンボルを取得します。
その後、ドラッグ前の位置を記録し、ドラッグ処理を開始します。
最後にドロップのイベントを追加します。

function onStartDrag(eventObj:Event):void{
kanjou = eventObj.target as MovieClip;
beforeDragX = kanjou.x;
beforeDragY = kanjou.y;
kanjou.startDrag(false);
stage.addEventListener(MouseEvent.MOUSE_UP,onStopDrag);
}

ドロップのイベントへ追加したfunctionは下記の通りです。
まずドラッグ処理を終了します。
その後借り方および貸し方の当たり判定メソッドを実行後、
元の場所へシンボルを移動し、最後にドロップ処理を削除します。

function onStopDrag(eventObj:Event):void{
kanjou.stopDrag();
hitKanjou(kanjou,karikatakoumoku);
hitKanjou(kanjou,kashikatakoumoku);
kanjou.x = beforeDragX;
kanjou.y = beforeDragY;
stage.removeEventListener(MouseEvent.MOUSE_UP,onStopDrag);
}

当たり判定メソッドは下記の通りです。
「hitTestObject」メソッドにより、借り方および貸し方の当たり判定を行います。
ドロップ判定がtrueの場合、ドラッグされたオブジェクトの名前で
実際に表示するテキストを判定します。

function hitKanjou(kanjou:MovieClip,koumoku:TextField):void{
if(koumoku.hitTestObject(kanjou)){
if("genkin" == kanjou.name){
koumoku.text = "現金";
}
if("touza" == kanjou.name){
koumoku.text = "当座預金";
}
if("urikake" == kanjou.name){
koumoku.text = "売掛金";
}
if("kaikake" == kanjou.name){
koumoku.text = "買掛金";
}
if("uriage" == kanjou.name){
koumoku.text = "売上";
}
if("shiire" == kanjou.name){
koumoku.text = "仕入";
}
}
}

若干無理やり組んだ感がありますが・・・。
次回はクリック後の処理を説明します。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:仕事

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

Flash制作その1Flash制作その3 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。