• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:教本どおりにやってもそのとおりになりません。)

教本どおりにやってもそのとおりになりません

このQ&Aのポイント
  • FlashCS3を使用している際、教本どおりに進めても想定通りの結果が得られない状況が発生します。
  • 特に「おしえて!!FLASH 8 ActionScript」の2-1、2に書かれている「計算ができるよ」という内容が解決できない課題です。
  • 具体的には、二つの数字の合計を出力するためのボタンシンボル内に記述した簡単な計算式が、文字列の足し算になってしまいます。解決策を教えていただけると助かります。

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

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

Flash 8 で書かれていらっしゃる通りのことをしてみて Flash Player 8 用 SWF をパブリッシュしてましたが それでも 数値は文字列として扱われました。 ( 5 + 7 → 57 という感じ) その本は持っていないのでよくわかりませんが そもそもテキストフィールドに「変数名」を付けるという部分がおかしいです。 パブリッシュ設定を Flash Lite 1.0 や 1.1 にするような指示は書かれてありませんか? パブリッシュ設定を Flash Player 4 や Flash Lite 1.0 や 1.1 にすると テキストフィールドに入力された文字は数値として扱われます。 ( 5 + 7 → 12 という感じ) ※ Flash Player 4 などでは「+」は数値加算演算子なので   テキストフィールド記入文字列は自動的に数値扱いになるため。 その他 テキストフィールド の仕様もバージョンによって変わっています。 上にも書きましたが テキストフィールドに「変数名」を付けるのは Flash Lite 1.0 または 1.1(携帯用Flashの初期バージョン) にパブリッシュするときぐらいで それ以外は 今は使いません。 Adobe側からも「使ってはならない」と指示されています。 Flash CS3 ドキュメンテーション 「テキストフィールドのインスタンス名と変数名について」 http://livedocs.adobe.com/flash/9.0_jp/main/00000881.html > テキストフィールドのメソッドの呼び出し、 > そのプロパティの取得または設定を行うには、 > プロパティインスペクタの [インスタンス名] テキストボックスで、 > そのテキストフィールドにインスタンス名を割り当てる必要があります。 > > プロパティインスペクタの [変数] テキストボックスで、 > 変数名をダイナミックテキストフィールドや > テキスト入力フィールドに割り当てることができます。 > これによって、変数に値を割り当てることができます。これは、 > 旧バージョンの Flash Player (Flash Player 4 など) 用の > アプリケーションを作成するときに使用する可能性のある > 非推奨の機能です。  ~~~~~~~~~~~~~ テキストフィールドに「変数名」を付けると色々不具合を生じます。 【解決策】 テキストフィールドの「変数名」は削除して 代わりに「インスタンス名」を付けます。 名前の「aa」,「bb」,「cc」は そのままで良いです。 ボタンに書いたスクリプトを次のように変更します。 on (release) { cc.text = Number(aa.text) + Number(bb.text); } これで Flash Player 8 用 SWF をパブリッシュすれば 無事に数値加算されると思います。 (その他のバージョンでは知りません) #1 の方も書かれていらっしゃいますが とにかく「バージョンに合った本」を買いましょう。 でないと妙なところで詰まって動けなくなることが多発しますよ。

gozaruou
質問者

お礼

>>パブリッシュ設定を Flash Lite 1.0 や 1.1 にするような指示は書かれてありませんか? 書いてませんでした。2004版も(なぜか)持っているので調べてみましたが記載されてませんでした。 ActionScript2.0はなるべくやらないほうがいいのですね。 ていねいに教えてくださってありがとうございました。

その他の回答 (1)

回答No.1

教本が古いです それはActionScript1.0の書き方 CS3ではその書き方はもうできません CS3を使うなら新しい本を探す事をお勧めします

gozaruou
質問者

お礼

回答有難う御座います。 現行のActionScriptでは2.0なんですね さっそく買いにいってみたいと思います。

関連するQ&A