dポイントプレゼントキャンペーン実施中!

教本どおりにやってもそのとおりになりません。
使用しているのはFlashCS3です。アニメメインで使っており、AcitonScriptを覚えたいとは思っているのですが、
いつもここで躓いてしまい、解決できずにあきらめてしまいます。

教本は「おしえて!!FLASH 8 ActionScript」で解決できないのは、ここの2-1、2に書かれている「計算ができるよ」です

入力テキストから数字を二つ入力してその合計を出力するという簡単なもののようなんですが、

on (release) {
cc = aa+bb;
}

という簡単な計算式を作ってボタンシンボルに組み込み、入力テキストaa、bbをつくり、出力としてダイナミックテキストcc
を作りプレビューしてみたんですが、文字列の足し算になってしまいます。
教本にはそんなに難しいことではないようで、注意点なども記載しておらず、ウェブなどを見てもそれらしいことはみつかりません。
書いてあるとおりにやっており落ち度がまったくわかりません。どなたかご教授お願いします。

A 回答 (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/0000 …
> テキストフィールドのメソッドの呼び出し、
> そのプロパティの取得または設定を行うには、
> プロパティインスペクタの [インスタンス名] テキストボックスで、
> そのテキストフィールドにインスタンス名を割り当てる必要があります。
>
> プロパティインスペクタの [変数] テキストボックスで、
> 変数名をダイナミックテキストフィールドや
> テキスト入力フィールドに割り当てることができます。
> これによって、変数に値を割り当てることができます。これは、
> 旧バージョンの Flash Player (Flash Player 4 など) 用の
> アプリケーションを作成するときに使用する可能性のある
> 非推奨の機能です。
 ~~~~~~~~~~~~~

テキストフィールドに「変数名」を付けると色々不具合を生じます。



【解決策】
テキストフィールドの「変数名」は削除して
代わりに「インスタンス名」を付けます。
名前の「aa」,「bb」,「cc」は そのままで良いです。

ボタンに書いたスクリプトを次のように変更します。

on (release) {
cc.text = Number(aa.text) + Number(bb.text);
}

これで Flash Player 8 用 SWF をパブリッシュすれば
無事に数値加算されると思います。
(その他のバージョンでは知りません)



#1 の方も書かれていらっしゃいますが
とにかく「バージョンに合った本」を買いましょう。

でないと妙なところで詰まって動けなくなることが多発しますよ。
    • good
    • 0
この回答へのお礼

>>パブリッシュ設定を Flash Lite 1.0 や 1.1 にするような指示は書かれてありませんか?

書いてませんでした。2004版も(なぜか)持っているので調べてみましたが記載されてませんでした。
ActionScript2.0はなるべくやらないほうがいいのですね。

ていねいに教えてくださってありがとうございました。

お礼日時:2010/06/12 15:43

教本が古いです




それはActionScript1.0の書き方

CS3ではその書き方はもうできません

CS3を使うなら新しい本を探す事をお勧めします
    • good
    • 0
この回答へのお礼

回答有難う御座います。

現行のActionScriptでは2.0なんですね

さっそく買いにいってみたいと思います。

お礼日時:2010/06/12 13:19

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