ご使用の Flash 作成ソフトやそのバージョン
そしてActionScript のバージョンがないと回答不可能(回答困難)なのですが。
その辺がわからないと回答できないので
【この回答】では勝手に Flash CS3 以降をお使いで
ActionScript 3.0 を使用するものとした場合の説明を書きます。
(Flash CS3 以降… CS3,CS4,CS5,CS5.5,CS6,…)
新規ドキュメント作成より,
まずシンボル「block1」は
ムービークリップシンボルとして作成します。
ライブラリにあるその「block1」を右クリックするなどして
「プロパティ」より「シンボルプロパティ」パネルを出します。
その出したパネルの「リンケージ」の欄で
□ ActionScript に書き出し
□ 最初のフレームに書き出し
にチェックを入れます。
そして「クラス」となっている欄に
例えば「block1」というクラス名を付けます。
(ActionScript 3.0 では識別子は付けません。)
※【添付図】↓
そして メインタイムライン の フレーム1 に
次のようなスクリプトを書きます。
//------------------------------
//「Block1」を配置する座標の設定
var b1_x:Number=50;
var b1_y:Number=50;
//「block1」用カウンタを用意
var cnt1:int=0;
//「block1」を配置する関数 makeBlock1 の定義
function makeBlock1():void {
//「Block1」を「b1_mc○」という参照変数名で呼び出す
this["b1_mc"+cnt1] = new Block1();
this["b1_mc"+cnt1].x=b1_x;
this["b1_mc"+cnt1].y=b1_y;
this["b1_mc"+cnt1].buttonMode=true;
addChild(this["b1_mc"+cnt1]);
//
//「b1_mc○」内にフラグ「flg」を用意
this["b1_mc"+cnt1].flg=false;
//
//「b1_mc○」押下時に関数 b1DownFunc を実行
this["b1_mc"+cnt1].addEventListener(MouseEvent.MOUSE_DOWN,b1DownFunc);
}
//「block1」を配置する関数 makeBlock1 を実行
makeBlock1();
//ドラッグ中のMCの参照を格納する変数
var drag_mc:MovieClip;
//関数 b1DownFunc の定義
function b1DownFunc(e:MouseEvent):void {
//マウス押下ターゲットMCの参照を変数に格納
drag_mc=MovieClip(e.currentTarget);
//ターゲットMCをドラッグ開始
drag_mc.startDrag();
//マウスアップ時に mouseUpFunc を実行
stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpFunc);
//もしターゲットMC内のフラグ「flg」の値が false であれば
if (! drag_mc.flg) {
//「block1」用カウンタをカウントアップ
cnt1++;
//「block1」を配置する関数 makeBlock1 を実行
makeBlock1();
}
//ターゲットMCを最高表示順に移動
this.addChild(drag_mc);
}
//関数 mouseUpFunc の定義
function mouseUpFunc(e:MouseEvent):void {
//ドラッグを終了
drag_mc.stopDrag();
//マウスアップ時にこの関数を実行するのを解除
stage.removeEventListener(MouseEvent.MOUSE_UP,mouseUpFunc);
}
//------------------------------
なお Flash MX2004 以降をお使いで
ActionScript 2.0 を使用する場合の説明は
下記ご質問ページを参考にしてください。
「質問:Adobe flashソフトを使ってゲームを作りたい」
OKWaveの場合→ http://okwave.jp/qa/q8171717.html
教えて!gooの場合→ http://okwave.jp/qa/q8171717.html
なお今のところ(補足がなければ)
Adobe または Macromedia Flash 以外の Flash 作成ソフトの場合や
Macromedia Flash でも Flash MX 以下の場合などは知りません。
(Flex の場合や Flash Builder の場合や Suzuka の場合や ParaFla! の場合や… 場合が多すぎてそれぞれについて一々回答できません。)
補足
Adobe flashプロフェッショナル cs5でした!