こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

プログラミング教えてください

Adobe flashソフトを使ってゲーム を作りたいのですが アクションスクリプト(プログラム )がわかりません 内容はドラックアンドドロップです

シンボルを1つ作ります。 シンボル名は[block1]にします。

それを画面左に設置します。 そのシンボル[block1]にカーソル を合わせドラッグandドロップして 画面右に何個も移動させるプログラ ミングを教えてください

投稿日時 - 2013-07-12 13:20:58

QNo.8173134

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.3

#2です。

#2の回答の一部に間違いがありました。
訂正させていただきます。

> そして「クラス」となっている欄に
> 例えば「block1」というクラス名を付けます。
> (ActionScript 3.0 では識別子は付けません。)

 ↓訂正↓

そして「クラス」となっている欄に
例えば「Block1」というクラス名を付けます。
(ActionScript 3.0 では識別子は付けません。)


つまりクラス名として
「block1」ではなく「Block1」と命名した場合のスクリプトや添付図を付けています。
(クラス名の場合,頭の文字は大文字にするのが一般的なので,そうしています。)

投稿日時 - 2013-07-13 09:31:15

補足

Adobe flashプロフェッショナル cs5でした!

投稿日時 - 2013-07-14 02:36:18

ANo.2

ご使用の 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! の場合や… 場合が多すぎてそれぞれについて一々回答できません。)

投稿日時 - 2013-07-13 09:14:41

あなたにオススメの質問