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

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

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

教本どおりにやってもそのとおりになりません。 使用しているのはFlashCS3です。アニメメインで使っており、AcitonScriptを覚えたいとは思っているのですが、 いつもここで躓いてしまい、解決できずにあきらめてしまいます。 教本は「おしえて!!FLASH 8 ActionScript」で解決できないのは、ここの2-1、2に書かれている「計算ができるよ」です 入力テキストから数字を二つ入力してその合計を出力するという簡単なもののようなんですが、 on (release) { cc = aa+bb; } という簡単な計算式を作ってボタンシンボルに組み込み、入力テキストaa、bbをつくり、出力としてダイナミックテキストcc を作りプレビューしてみたんですが、文字列の足し算になってしまいます。 教本にはそんなに難しいことではないようで、注意点なども記載しておらず、ウェブなどを見てもそれらしいことはみつかりません。 書いてあるとおりにやっており落ち度がまったくわかりません。どなたかご教授お願いします。

  • Flash
  • 回答数2
  • ありがとう数15

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

  • ベストアンサー
  • 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

  • Excelのマクロを作ってもらえますか?

    こんにちは。 エクセルのマクロで、Sheet1に転々と 入力されているデータを すべてA1の列へ統一して並べ替え(2) 同じデータの数を計算してB2へ記述する(3)などという マクロができるなら作っていただけないでしょうか? もし、数の入った行のみ残して削除までできれば最良なの ですが(4) (2) AA-20 AA-20 AA-20 BB-30 CC-30 CC-30 CC-30 (3) AA-20   3 AA-20 AA-20 BB-30   1 CC-30   3 CC-30 CC-30 (4) AA-20   3 BB-30   1 CC-30   3 このようになのですが、 お時間のあるときで結構ですので宜しくお願いします。

  • テキストフィールドを入力・移動できるようにしたい。ActionScript3.0

    FlashCS3でActionScript3.0で配置されたテキストフィールドを、マウスドラッグで移動も、入力もできる部品を作成したいのですがうまくいきません。ダイナミックテキストフィールドではなくて、テキスト入力フィールドを配置しておけば入力はできますがマウスで移動もできるようにするにはどのようなActionScript3.0で対処すればよいでしょうか。 分かる方は教えて下さい。よろしくお願いします。

  • calcの計算式について

     A列 B列 1 aa 500 2 bb 210 3 cc 140 4 aa 520 5 cc 140 6 bb 20 7 cc 420 ・ ・ という100行ぐらいのデータの aa bb ccごとの合計を出す場合は どのように計算すればいいでしょうか? 例えばaaの合計は1020です。 よろしくお願い致します。

  • JavaScriptで計算表

    下記のような計算式を作りたいのですが、ご教授願えませんでしょうか。 AA項目  セレクトボックスで、あ~おから選択(1)      セレクトボックスで、あ~おから選択(2)      セレクトボックスで、あ~おから選択(3)      セレクトボックスで、あ~おから選択(4)      セレクトボックスで、あ~おから選択(5)  ※ あ=40、い=30、う=20、え=10、お=5 とする BB項目  ユーザ入力(1)      ユーザ入力(2)      ユーザ入力(3)      ユーザ入力(4)      ユーザ入力(5) CC項目  AA項目とBB入力を掛けた計算結果表示(1)      AA項目とBB入力を掛けた計算結果表示(2)      AA項目とBB入力を掛けた計算結果表示(3)      AA項目とBB入力を掛けた計算結果表示(4)      AA項目とBB入力を掛けた計算結果表示(5) DD項目  2割~8割からセレクトボックスで選択(1)      2割~8割からセレクトボックスで選択(2)      2割~8割からセレクトボックスで選択(3)      2割~8割からセレクトボックスで選択(4)      2割~8割からセレクトボックスで選択(5) EE項目  セレクトボックスで、か~こから選択 ★ CC項目とDD項目を掛けた数字をすべて足した数字表示 「FF」   (例:CC項目(1)=DD項目(1)、CC項目(2)=DD項目(2)という考え方)   ★ CC項目とDD項目ごとに掛けた数字にEE項目で選択した数字を掛けて足した数字表示 「GG」    「計算ボタン」    「クリアボタン」 *************** 1.AA項目、BB項目は、必ずしも全部を選択しない(CC項目、DD項目も連動) 2.各項目も(1)と(1)で計算  (例)    AA項目(1)とBB項目(1)の計算結果がCC項目(1)に表示    CC項目(1)とDD項目(1)を計算 3.EE項目は、AA項目の選択の種類によって、掛ける数字が変わってくる。    AA項目 あ  EE項目 か = 20.2    AA項目 い  EE項目 か = 15.8    AA項目 う  EE項目 か = 13.7    AA項目 え  EE項目 か = 10.5    AA項目 お  EE項目 か = 8.2    AA項目 あ  EE項目 き = 31.6    AA項目 い  EE項目 き = 28.1    AA項目 う  EE項目 き = 22.4    AA項目 え  EE項目 き = 17.2    AA項目 お  EE項目 き = 14.7 4.GG項目は、CC項目とDD項目ごとに計算した数字に、3.で選択した数字を掛けて足した合計を表示   (例)     CC項目(1)とDD項目(1)を掛けた数字に、AA項目で「あ」を選択し、EE項目は「か」を選択 5.計算ボタンをクリックすると、「FF」と「GG」を計算する 6.クリアボタンをクリックすると、すべてクリアとする      ************ 仮に AA項目 「あ~う」までを選択 BB項目 (AA項目「あ」=15、AA項目「い」=8、AA項目「う」=3) DD項目 (AA項目「あ」=2割、AA項目「い」=4割、AA項目「う」=7割) EE項目 「か」を選択 分かりづらい説明で申し訳ございませんが、宜しくお願いいたします。

  • Accessでフォームからテーブルへ書き込む

    Access2000 (初心者) フォームからテーブルへ入力したいのですが、レコードソースが違う為入力出来ません。 DLookup("AA", "BB")で違うレコードから抽出出来る様に、違うレコードへ簡単に入力出来ないでしょうか? Me.CC = DLookup("AA", "BB") DLookup("AA", "BB") = Me.CC みたいに・・・

  • 1セル内の複数データと表を一致させる

    非常に難儀しております。 ご存知の方お教えください。 前提として表にそれぞれにコードがついています。 (|は別セルを表現) 肉まん     | aa01 あんまん    | bb01 カスタードマン | cc01 ピザマン    | ee01 そして1つのセル内に複数のデータをランダムで 入力します。(最低でも二文字はあります) こんな感じ↓ 1)肉まん・あんまん・カスタードマン・ピザマン 2)カスタードマン・あんまん この時、結果を 1)aa01・bb01・cc01・ee01 2)cc01・bb01 と自動計算で表示することは可能でしょうか。 できれば計算式を含めてお教え願えませんでしょうか。 よろしくおねがいします。

  • エクセルのセル分けについて教えてください。

    エクセルで、1つのセルに  aa,"bb","cc,"dd","ee" というように入力されています。 それをaa bb cc のようにそれぞれのセルに分けたいのですが、方法が分かりません。 ご存知の方がいらっしゃいましたら、教えてください。宜しくお願いします。

  • エクセルで

    エクセルである1列に入力されてる文字の中で同じ値の数を数えたいのですが。 例えば     A列  B列   1 aa 2 bb 3 cc 4 aa 5 cc ・ ・ ・ 100 bb といった表で「aa」「bb」「cc」等、その列に入力されているすべてのデータのそれぞれの数を一度に表示させることは可能でしょうか? 分かりにくくて申し訳ありませんが詳しい方がいらっしゃいましたらよろしくお願い致します。

  • 複数の条件で他のシートを検索する

    先日教えてくださった方々ありがとうございました。 また質問なんですが、先生方知恵を貸してください。 sheet1 A | B | C | D | E | F | G ======================= 1 | 2 | 3 | AA | BB | 00 | 空欄 1 | 2 | 3 | BB | CC | 11 | 空欄 2 | 3 | 4 | CC | AA | 22 | 空欄 5 | 6 | 7 | BA | CA | 12 | 空欄 sheet2 A | B | C | D ========================== AA | BB | 00 | 3 AD | C | 01 | 4 BB | CC | 11 | 2 CC | AA | 22 | 4 CA | BA | 20 | 5 BA | CA | 12 | 1 このように入力されています sheet1のDEFに完全に一致する組み合わせをsheet2のABCから探し Dをsheet1の空欄Gに出力させる さらにそのGと一致するsheet1のABCがあれば文字色を変える というものです。 分かり難いですが、教えてください。 関数のVLOOKUPで出力までは出来たのですが、 文字色を変えることが出来ませんでした。 マクロで全部やってしまった方が早そうなので知恵をお貸しください。 。

  • 選択による表示の可否を含めた複雑な計算表について

    下記のような計算表を作りたいのですが… AA  1  2  3  4 BB  11  12  13  14  15     ※AAのチェックによって表示され、選択可能    <例>    ・AA-1を選択するとBB-11,12のみ表示して1つのみ選択可能    ・AA-2を選択するとBB-11,12,14のみ表示して   〃    ・AA-3を選択するとBB-11~15表示して     〃 CC  テキストボックスでユーザ入力 DD  テキストボックスでユーザ入力 EE  CC×DD×<AAのチェックとBBのチェックによる数字>     <例>     ・BBの<例>と同じ条件の元で      AA-1---BB-11→15(チェックにより掛ける数字)      〃 ---〃 12→18( 〃 )      AA-2---BB-12→22( 〃 )      〃 ---〃 14→27( 〃 )      AA-3---BB-13→31( 〃 )      〃 ---〃 15→35( 〃 ) FF  Aa  Bb  Cc  Dd  Ee       ※AAとBBの条件と連動して、表示され選択可能      <例>      ・AA-1を選択するとBB-11,12のみ表示し、1つのみを選択。FF-Aaのみ表示      ・AA-2を選択するとBB-11,12,14のみ表示し、   〃  。FF-Aa,Ccのみ表示      ・AA-3を選択するとBB-11~15表示し、    〃    。FF-Bb,Ccのみ表示 GG  セレクトボックスで4割~8割から選択 HH  a  b  c  d  e  f  g      BBの選択内容とFFの選択内容によって表示(選択は1つのみ) ※ 後の計算によって数字変更     <例>      BB-11---FF-A---HH-a~c(a:3,b:6,c:10)      〃 ---〃 B---〃 a,c,f(a:4,c:5,f:8)      〃 ---〃 C---〃 c~g(c:4,d:5,e:8,f:14,g:18)      BB-12---FF-A---HH-a~c(a:11,b:14,c:18)      〃 ---〃 B---〃 b,d,f,g(b:7,d:9,f:12,g:13)      〃 ---〃 C---〃 c~f(c:1,d:3,e:9,f:11) 「計算」ボタンと「リセット」ボタン  ※「計算」ボタンをクリックするとIIとJJ」に計算内容を表示  ※「リセット」ボタンをクリックすると、すべてリセットさせる。AAのみ表示を残す II  EE×GG JJ  (AAとBBとFFのチェックによる数字)×(20-HH)×II÷2    <例>    AA-1---BB-12---FF-A→12(掛ける数字)×(20-HH-a)×II÷2    〃1---BB-12---〃 B→17(掛ける数字)×(20-〃c)×〃÷2                     ・                     ・ -------- 計算が大きく2つに別れて計算という形になるのですが、 <<1>> -AA-1---BB-11---FF-A-|→EEで必要な数字15 | | |-〃12---〃 -|→     〃 18 | | -〃2---BB-11---FF-A, C-|→EEで必要な数字20 | | |-〃 12--- 〃 -|→   〃  22 | | |-〃 14--- 〃 -|→   〃  27 | | -〃3---BB-11---FF-B,E-|→EEで必要な数字28 |   |-〃 12--- 〃 -|→   〃  30 |   |-〃 13--- 〃 -|→   〃  31 |   |-〃 14--- 〃 -|→   〃  32 |   |-〃 15--- 〃 -|→   〃  35 |         ・ -         ・ <<2>> ※ < >の数字は掛ける時に必要な数字 -BB-11---FF-A---HH-a<3> | |   |  |--〃b<6> | |   |  |--〃c<10> | |   | | |   FF-B---HH-a<4> | |   |  |--〃c<5> | |   |  |--〃f<8> | |   | | |   FF-C---HH-c<4> | |   |  |--〃d<5> | |   |  |--〃e<8> | |   |  |--〃f<14> | |   |  |--〃g<18> | | -BB-12---FF-A---HH-a<11> | |   |  |--〃b<14> | |   |  |--〃c<18> | |   | | |   FF-B---HH-b<7> | |   |  |--〃d<9> | |   |  |--〃f<12> | |   |  |--〃g<13> | |   | -      ・ |      ・ ※ < >の数字は掛ける時に必要な数字 <例>AA-1---BB-12---FF-A<12>×(20-HH-a<3>)×II÷2 という感じになります。 大変分かりにくいとは思いますが、ご教授の程よろしくお願いします。

専門家に質問してみよう