
以前、質問をしたのですが
流れてしまった様なので、再び質問させて頂きます。
Flash Lite1.0用に制作をし直しております。
callに関しての質問です。
ゲームの得点スコアーで、シーン1に
function addScore() {
score+=10;
}
function decScore() {
score-=10;
}
と記述しております。
敵キャラが三種類いて、倒すと+10になるものと-10になるもの。
そしてシーン1→ムービー→ボタン となっており
そのボタンに
on (press) {
play();
call(16);
}
と記述しおります。
この16フレーム、call指定をしたフレームにはどのように記述したら良いのでしょうか?
どなたかお分かりになる方、ご伝授宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示

No.1
- 回答日時:
先日はどうも失礼いたしました。
> シーン1→ムービー→ボタン
と書かれている意味がはっきりとつかめませんが,
これは階層構造のことで,
_root(メインムービーのタイムライン)
└ ムービークリップ
└ ボタン
という意味でしょうか?
そして,
> シーン1に
> function addScore() {
> score+=10;
> }
> function decScore() {
> score-=10;
> }
と書かれているのは,
_root のタイムラインのフレームに書いているという意味でしょうか?
よくわからないので,
勝手にそういうこととして解釈します。
もし上のようなことであれば,
フレーム16 の存在する階層と,
ボタンの存在する階層が違っているのです。
ですから,
_root の フレーム16 に例えば 加算する方のユーザ定義関数 addScore() と同様のものを用意したいのでしたら,
_root の フレーム16 に,
---------------------
score += 10;
---------------------
と書いておきます。
この, score += 10; というスクリプトを,ムービークリップの中のボタンから call するのですから,
ボタンのスクリプトは,
---------------------------------------
on (press) {
play();
// ターゲット(この場合 _root)に命令
tellTarget ("/") {
// 16フレームのスクリプトを実行
call(16);
}
}
---------------------------------------
となります。
書かれているスクリプト
--------------
on (press) {
play();
call(16);
}
-------------
これであれば,
ボタンのある階層(ムービークリップ)のタイムラインの フレーム16 のスクリプトを実行しなさいと言う意味になります。
階層が違えば,tellTarget () で,
ターゲット階層に命令をする必要が出てきます。
ターゲットパスですが,
Flash Lite 1.0 (1.1も) ではスラッシュシンタックスを使うのが一般的です。
「_root」 は, 「/」 で表されます。
「this」は,特にありません。
同じ階層なのですから,this は省略してください。
どうしても書かざるを得ない場合は, 「""」 になります。
もし階層が次のようになっていて,
_root
└ aMC (ムービークリップ)
└ bMC (ムービークリップ)
_root から bMC (ムービークリップ) に何かの命令(例えば play() など)を出したい場合は,
--------------------------
// ターゲットに命令
tellTarget ("/aMC/bMC") {
// 再生開始
play();
}
--------------------------
となります。
> function addScore() {
> score+=10;
> }
> function decScore() {
> score-=10;
> }
のように2つの関数を同じフレームに書くことはできませんから,
と言うより,書いても良いのですが
書いたら2つとも実行されてしまいますから,
例えば フレーム16 には,
score+=10;
だけを書いておいて,
例えば フレーム17 に,
score-=10;
だけを書いておく必要があります。
勝手に解釈した条件での回答です。
全く趣旨の違った回答をしていればすみません。
この回答への補足
ご伝授ありがとうございました。
on (press) {
play();
// ターゲット(この場合 _root)に命令
tellTarget ("/") {
// 16フレームのスクリプトを実行
call(16);
}
}
上記の設定で得点ができるようになりました。
細かく説明を書いて下さって非常に助かりました。
ありがとうございます。
もう一つ伺いたい事があるのですが・・・
このゲームは叩く動作、叩いて敵を倒すようにしています。
そこで、叩く動作の時に武器を出現させて
敵を叩いているようにしたいのですが・・・。
例えば1キーを押したら、1キーで倒す敵の所に武器がある。
イメージとしてはその様な感じです。
1~9キーに対応するように
ステージには3×3で、1~9に設定した異なるインスタンス名のMCを配列しております。
そのインスタンス名がteki1~9だとすると
_root(メインムービーのタイムライン)ここにteki1~9
└ ムービークリップ
└ ボタン
という感じになっております。
このteki1~9は得点を設定したものと同じです。
分りづらい様でしたらまた説明致します。
ご伝授の程、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
potplayerについて質問です
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
uwscでExcelに自動記入
-
PHPの変数をAS3に渡す方法
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WEBブラウザの重複起動の禁止
-
FlashVarsでswfへ変数を渡し、...
-
一度再生したFlashをスキップす...
-
フレームアクションについて。
-
mp3でページを移動しても音を鳴...
-
パソコンのオープンフレームっ...
-
フレーム内のオプションボタン...
-
フレーム内に移動したい
-
cisco catalystのトラブルシュ...
-
VBで動的に作成したパネルの上...
-
phpで音を鳴らす
-
ActionScript 3.0についての質...
-
車の運転時のメガネ 縁なし(...
-
VB6のスクロールバー付きフレー...
-
フレームでのResponse.Redirect
-
オプションボタンを矢印キーで...
-
キーフレームとはなんですか?
-
Access2010でサブフォームのフ...
-
C#でDLLファイル読み込みを行う...
-
再生中のフラッシュ・巻き戻し...
おすすめ情報