![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Suzukaというソフトを使ってFLASHを勉強しています。
タイムライン上にアクションレイヤーで
n = 10 ;
として 変数n に10を代入しました。
次に スプライトAでボタンを作って、以下のように記述しました。
on(Press){
n = n - 1;
}
私の中では、任意のタイミングでこのボタンを押して、
変数nの値から-1するつもりだったのですが
変数nの値が変わりません。
任意のタイミングでボタンを押して変数nに変化を与えるにはどうしたら良いのでしょうか?
今は以下のようにして変数を-1しています。
//////////////////////////////////////////////////////////
スプライトAに
on(Press){
_root . スプライトB. gotoAndPlay(2);
}
を記述。
スプライトBのタイムライン2フレーム目に
n = n - 1;
を記述。
(一旦別のスプライトBを用意して
そのスプライトBの中のタイムラインに設定したアクションレイヤーに
n = n - 1;
を踏ませています。
//////////////////////////////////////////////////////////
しかしこの方法だと、タイミングが2フレームずれてしまい
厳密にはPressした瞬間ではなくなってしまいますよね。
これ以外にon(Press)などで変数を変える事はできないんでしょうか?
お詳しい方いらっしゃいましたら、ご教授宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
おそらくこの点↓が問題でしょう。
> 次に スプライトAでボタンを作って、以下のように記述しました。
Suzuka や Parafla! の スプライト というものは
Adobe (Macromedia) Flash で言うところの ムービークリップ(MovieClip) なんです。
で、
そのムービークリップというのはムービーの中のムービーであって「階層」を持つんです。
「ターゲットパス」
http://homepage3.nifty.com/ginga-b/MX/targetpath …
「Suzuka 基礎・基本 ★ ターゲットパス(&階層)」
http://suzupara.iinaa.net/kiso_target.html
ボタン と スプライト とは、階層を持つ持たないが大きな違いです。
(ボタン=階層を持たない ・ スプライト=階層を持つ)
> タイムライン上にアクションレイヤーで
> n = 10 ;
> として 変数n に10を代入しました。
おそらくこの タイムライン上 とは メインのタイムライン,
ActionScript的に言えば _root のタイムラインだと考えられます。
一方
> on(Press){
> n = n - 1;
> }
と書かれたのは スプライトA ですから
つまり スプライトA の中の変数 n から -1 をしようとしているということになります。
階層図で表すと次のようになります。
_root ← n=10
└スプライトA ←nから1を引く
したがって、
_root の変数 n の値を -1 したい場合は、
スプライトAに書くスクリプトを
on(press){
_root.n = _root.n - 1;
}
または
on(press){
_root.n -= 1;
}
または
on(press){
_root.n--;
}
もしくは
on(press){
_parent.n = _parent.n - 1;
}
または
on(press){
_parent.n -= 1;
}
または
on(press){
_parent.n--;
}
もしくは
on(press){
this._parent.n = this._parent.n - 1;
}
または
on(press){
this._parent.n -= 1;
}
または
on(press){
this._parent.n--;
}
のように書く必要があります。
============
なお
on(release) や on(press) など onハンドラ の () 内の最初の文字は小文字です。
Flash Player 7 以上(SWF7 以上)用の SWF では
大文字小文字が厳格に区別されますから
大文字小文字を間違えると正常に動作しない現象が発生するおそれがあります。
レス感謝します。
ご指導頂きましたとおり、
ターゲットパスの指定により間違いをしていたようです。
改めてスクリプトを書き直して見た所、
私が希望した通りの動きをしてくれました。
当方まだASを作る基礎が出来て無いため、初歩的な部分で質問申し訳ありませんでした。
BlurFiltan様には過去にも何度も初歩的な質問にも関わらず、ご教授頂き大変感謝しております。
ありがとうございました<(__)>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 3 2022/05/13 17:27
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- C言語・C++・C# このプログラミング誰か教えてくれませんか 2 2022/05/14 09:45
- マウス・キーボード キーボード設定で困っています。長文です。 2 2022/12/10 12:44
- その他(暮らし・生活・行事) Coke ONスタンプのスプライトをゲットする事は無理ゲーですか? 1 2023/03/05 23:37
- Excel(エクセル) Excel 条件付き書式について 1 2022/12/14 20:38
- Facebook 他人のおすすめ記事 1 2022/04/03 05:20
- PHP csvファイルについて教えて下さい。 2 2023/04/01 19:59
- レトロゲーム ファミコンのインベーダー。なぜ左右に動けるのか? 1 2022/07/05 14:19
- Ruby 初心者プログラミング 3 2022/10/12 11:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Flashで、ナビゲーションがマウ...
-
FLASHで文字入力て判定させる
-
2分木を中順でなぞりたいので...
-
else if文の順序を変えることに...
-
DirectXでの読み込みについて
-
アセンブリ言語のcasl2について...
-
テキストボックスの中身をリセ...
-
photoshopで書いた四角の枠の中...
-
【ExcelVBA】ファイル名をセル...
-
【VB.NET】別Formのボタンが押...
-
外国の幸福のシンボル
-
VB6.0 でメニューを作りたいん...
-
場面が移り変わるときかっこよ...
-
RPG(AS400)の本、サイトってあ...
-
vbs 割算のあまり
-
ウインドウハンドルとインスタ...
-
ボタンのカウント数でムービー...
-
ムービークリップの中のボタン...
-
accessの検索について質問です...
-
AS2でカスタムカーサーを使って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
四乗根を英語で言うと・・・
-
else if文の順序を変えることに...
-
pythonの画像の貼り付けについて
-
SNMPの標準MIBについて
-
Pythonのtkinterについて
-
Flashで、ナビゲーションがマウ...
-
FLASHで「かるた」を作りたいの...
-
2分木を中順でなぞりたいので...
-
クリックされたインスタンス以...
-
Excel VBAで読み込んだテキスト...
-
apache2でerror403について。
-
ホイールマウスで動かす
-
node* ってなんなのでしょうか?
-
StandardMLの二分木に関する問...
-
AS3 MC内ボタンクリックでシー...
-
PythonでSetWindowPosを使うに...
-
for & duplicateMovieClip & fu...
-
【as3】クリックでインスタンス...
-
on(press)などで変数nを変える方法
おすすめ情報