アプリ版:「スタンプのみでお礼する」機能のリリースについて

 二つのシーンでAction Scriptを使用しています。

この時初めのシーンで作成された変数とそこに入っている値を次のシーンに持ち越したいのです。

例えばxに100が入っており、初めのシーンでENTERを押すごとに+5されていくとします。
(つまり、毎回値が決まってるわけではないと言うことです)

そして次のシーンで、そのxの値を使用したいのです。

どなたか良い方法があれば教えてください。

A 回答 (1件)

そのシーンと言うのは,


「挿入」→「シーン」 などで作る 「シーン 1」 とか 「シーン 2」 とか言う シーン ですよね。

そのシーンだと何も考えずに変数とその値は持ち越されますよ。
「シーン 1」 とか 「シーン 2」 とか言う シーン は,
作成上の便宜をはかるためのもので,
「シーン 1」 でも 「シーン 2」でも _root は _root です。

一度,複数シーンからなる SWF を,
Flash の 「ファイル」→「読み込み」→「ステージに読み込み」で見てみられるとわかりますが,
「シーン 1」 も 「シーン 2」 も _root のつながったタイムライン上にあります。
だから,変数とその値も何も考えずにそもまま行き来できます。

----------------------------

ムービープレビューで,trace で確認する場合ば、
Enterキーを押すとメニューの「再生」の方が優先されるので,ムービープレビューではうまく表示されませんから,
「0」キーを押すスクリプト例で書いてみます。
例えばですから,どんなのでも良いですが,
「シーン 1」 を次のように5フレーム作成します。

            1     5
 □レイヤー 筆・・|○     []| ←スクリプト専用レイヤー
 □レイヤー 筆・・|●////[]|●| ←ボタン専用レイヤー


まず,「シーン 1」 の フレーム1 のスクリプト。
--------------------
stop();
var x = 100;
--------------------

「シーン 1」 の フレーム1~4 のボタンシンボルのインスタンス のスクリプト。
----------------------------
on (release, keyPress "0") {
x += 5;
trace(x);
nextFrame();
}
----------------------------

「シーン 1」 の フレーム5 のボタンシンボルのインスタンス のスクリプト。
----------------------------
on (release, keyPress "0") {
x += 5;
trace(x);
gotoAndStop("シーン 2", 1);
}
----------------------------

↑これで「シーン 2」に行きます。
「シーン 2」も「シーン 1」と同様のタイムラインにします。


            1     5
 □レイヤー 筆・・|○     []| ←スクリプト専用レイヤー
 □レイヤー 筆・・|●////[]|●| ←ボタン専用レイヤー


「シーン 2」 の フレーム1~4 のボタンシンボルのインスタンス のスクリプト。
----------------------------
on (release, keyPress "0") {
x += 5;
trace(x);
nextFrame();
}
----------------------------

「シーン 1」 の フレーム5 のボタンシンボルのインスタンス のスクリプト。
----------------------------
on (release, keyPress "0") {
x += 5;
trace(x);
gotoAndStop("シーン 1", 2);
}
----------------------------

↑これで「シーン 1」 の フレーム2 に行きます。
フレーム1 に戻すと,フレーム1 の
 var x = 100;
が効いて,また100に戻ってしまうので,フレーム2に戻すようにしてあります。


これで,「制御」→「ムービープレビュー」し,
キー 0 を押してもらうと
延々と 100 に 5 が加算されるのがわかると思います。
作ったボタンをクリックしてもらっても同じです。
「シーン 1」と「シーン 2」の区別がつきにくければ,さらに下にレイヤーを追加して,
シーンごとに違う何かを置いてもらうと,区別できると思います。

===================

ごちゃごちゃ長く書きましたが,
変数とその値は,シーンをまたいで持ち越されるのが普通です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!