• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:on(press)などで変数nを変える方法)

FLASHでon(press)などで変数nを変える方法は?

このQ&Aのポイント
  • FLASHでon(press)などのイベントを使用して変数nを変える方法について教えてください。
  • 変数nの値が変わらない問題について質問です。スプライトAのボタンを押して変数nの値を-1したいのですがうまくいきません。
  • 現在は別のスプライトBを使用してタイミングを合わせて変数nを-1していますが、他に方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

おそらくこの点↓が問題でしょう。 > 次に スプライトAでボタンを作って、以下のように記述しました。 Suzuka や Parafla! の スプライト というものは Adobe (Macromedia) Flash で言うところの ムービークリップ(MovieClip) なんです。 で、 そのムービークリップというのはムービーの中のムービーであって「階層」を持つんです。 「ターゲットパス」 http://homepage3.nifty.com/ginga-b/MX/targetpath.html 「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 では 大文字小文字が厳格に区別されますから 大文字小文字を間違えると正常に動作しない現象が発生するおそれがあります。

16a25
質問者

お礼

レス感謝します。 ご指導頂きましたとおり、 ターゲットパスの指定により間違いをしていたようです。 改めてスクリプトを書き直して見た所、 私が希望した通りの動きをしてくれました。 当方まだASを作る基礎が出来て無いため、初歩的な部分で質問申し訳ありませんでした。 BlurFiltan様には過去にも何度も初歩的な質問にも関わらず、ご教授頂き大変感謝しております。 ありがとうございました<(__)>

関連するQ&A

専門家に質問してみよう