FLASH MXにアップデート!スプリクトが変わりました!

このQ&Aのポイント
  • FLASHの古いバージョンからMXにアップデートしましたが、スプリクトのルールが変わりました。末尾に「;」や「{」が必要になり、ややこしいです。
  • 変数のカウントをするスクリプトが上手く動かず困っています。古いバージョンでは簡単にできていたのですが、MXで開くと「number」なんとかという書式に変換されます。
  • この問題の解決方法を記載している書籍やウェブサイトがあれば教えてください。
回答を見る
  • ベストアンサー

FLASH MXになってスプリクトが変わった

こんにちわ、プログラム初心者です。 ずっと、FLASHの古いバージョンを使用していたのですが この度、MXにアップデートしました。 visualbasicである程度言語を覚えたのですが 古いFLASHの時は似たような言語でよかったのですが MXになってから末尾に「;」とか「{」とか ややこしいルールができたようです。 まぁ、参考書を片手に見よう見真似で覚えている最中ですが どうしても参考書に記載されていない事があり (3冊ほどみました) ここで、質問させていただくことになりました。 あるカウントを取るために 変数=変数+カウント 例:(A=A+1)という簡単な事ができません。>< 古いバージョンでは可能だったので 仕方なく古いバージョンで作成し、それをMXで 開くと「number」なんとかという書式に変換されました。 なるほど、その命令でできるのかと 変数の値を変えて実行すると上手くいきません。 この手の解決方法が記載されている書籍またはHPをご存知の方が いらっしゃいましたら、宜しくお願いします。

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

  • ベストアンサー
noname#35109
noname#35109
回答No.3

>> 代入加算された結果をテキストボックスに反映したいのですが >> 何故か「NaN」という文字が表示されます。 第一原因。 変数を初期化していません。(以下変数名を「A」とします) 第一フレームのフレームスクリプトに A = 0 と書いて初期化してください。これをしないとそうなります。 第2原因 テキストボックスのインスタンス名に 例えば「A」と命名されてますね。 そうだとしたら。そのAを消して,テキストボックスの「変数名(プロパティの下の方)」に「A」を入れてください。 インスタンス名は不要です。 例えば,ボタンシンボルを作って on (release) { A = A + 1; } とボタンのスクリプトとして書けば,テキストボックスは, 1→2→3→4→5 となっていきます。 もちろん on (release) { A += 1; } でも良いです。 第一フレームにA=1でも,インスタンス名を消すのでも, どちらでも解決するはずですが,MXからは変数のあつかいはシビアになっているようで,初期化しておかないととんでもないことになるおそれがあります。 それ以上深く突っ込まれてもわかりません。 そういうルールになったようです。

irukacyan
質問者

お礼

ようやくできました。有難うございます。 変数を宣言しなくてはいけなくなったのですね。 ある意味、フレーム1は変数の宣言場所って 決めておけば、どういった変数を用意したか 判らなくなるのを防ぐ良い手段かとも思いました。 (面倒といえば面倒ですが^^;) いずれにしろ、大変助かりました。 本当に感謝一杯です。 かゆい所に手が届き、これから勉強する気になりました。 言葉足らずですが、お礼申し上げます。 有難うございました。

その他の回答 (2)

noname#35109
noname#35109
回答No.2

#1で書いた者です。 時間が無いのに書いてしまったため,中途半端で終わってしまいましたので補足します。 まだされていないのなら,ヘルプを参考にされてはいかがでしょうか。 Flashのヘルプは,あいかわらず定義ばかりで,例えばOffice製品のように充実したものではありません。 でもわかっている人が見ると,わかるようにはできています。 (「わからない人にはわからないじゃないか!」 と言いたいところですね。) あたりを付けてヘルプを探ってみられたらいいかもしれません。。 以前,されていたら,わかるところはわかると思います。 「FlashMX2004 ヘルプ」より抜粋 ◎ ; (セミコロン) 「ActionScript の基礎の概要」より ActionScript には独自の文法や句読記号の規則があります。 たとえば、英語では文章はピリオド (.) で終わりますが、 ActionScript では、ステートメントの最後にはセミコロン (;) を入力します。 「セミコロン」より ActionScript のステートメントはセミコロン (;) で終了します。 終了のセミコロンを省略した場合でも、スクリプトは問題なくコンパイルされます。 ただし、コードを読みやすくするためにもセミコロンを付けることをお勧めします。 次の例のように、for ループでセミコロンを省略することはできません。 var sum:Number = 0; for (var i=1; i<=10; i++) { sum += i; } ◎ += 「+= (加算後代入)」 演算子 (算術複合代入); expression1 に expression1 + expression2 の値を代入します。 たとえば、次の 2 つのステートメントは同じ結果になります。 x + = y; x = x + y; この演算子は、ストリングの連結も行います。 加算 (+) 演算子のすべての規則が、加算して代入 (+=) 演算子に適用されます。 ------------------------------------------------- あと,「Flash 3」や「Flash 4」という言葉でヘルプを検索されると, いだいてらっしゃる疑問が晴れるかもしれません。 ちなみに「Flash3」や「Flash4」では何もヒットしませんでした。 3や4の前に半角スペースを入れるとヒットします。 その他言語についてですが, パッ見,すごく最近のスクリプトはすごくJavaScriptに似ていると思いました。 これまたヘルプで調べてみると 「ActionScript と JavaScript の違い 」 より ActionScript は、基本的な部分は JavaScript プログラミング言語と似ています。 ActionScript の使用および習得に、必ずしも JavaScript の経験は必要ありません。 ただし、JavaScript の知識があれば、ActionScript をより効率よく学ぶことができるでしょう。 だそうです。 私はFlash5を持っておらず,Flash4からMXにチェンジしたときはかなりのギャップを感じました。 まだそのギャップと戦っております。お互いがんばりましょう。 ちなみに,FlashMX2004ってノーマルモードがないんですよ。 ほとんど平打ち状態。 例えばボタンシンボルに「gotoAndPlay(10)」と入れたい場合は 自動的に on (release) {   gotoAndPlay(10); } となりましたが,2004では gotoAndPlay(10) となってしまいます。これだとボタンをいくらクリックしても10フレームには行きません。 MX2004から始められる方はさぞかしハードルが高いソフトに感じると思います。 そう考えると,前のバージョンからされていて正解だと思います。 もし私がMX2004から始めていたらチンプンカンプン状態になっていたでしょう。

irukacyan
質問者

お礼

長文を有難う御座いました。 全てに対して理解できる程のスキルは持ち合わせていませんが 断然勇気を頂いたように思いました。 特に、FLASH過去バージョンから入ってよかったと 胸を撫で下ろしています。 これからも、格闘する日々が続くと思いますが こうして指導して頂いたのを無駄にしたくありませんので 頑張って習得したいと思います。 本当に心よりお礼を言いたい気持ちで一杯です。 ありがとうございました

irukacyan
質問者

補足

あれ??? もしかしたら、根本的な操作の問題だったかもしれません。 代入加算された結果をテキストボックスに反映したいのですが 何故か「NaN」という文字が表示されます。 もしかして、文字列として扱われているのでしょうか? プロパティでも文字列であるか数値であるかの設定が見当たりませんが もしかして変数宣言かなにか必要なのでしょうか? 回答できましたら、お願い致します。

noname#35109
noname#35109
回答No.1

>>(A=A+1)という簡単な事ができません。 あれ,できませんでしたっけ? できたような気がしましたが,とにかくその書式は A += 1 と言うのに変わりました。

関連するQ&A

  • FlashとJavaScriptで掲示板

    この度、FlashとJavaScriptを連携させて掲示板を作ろうと思いました。 そこでなのですが、JavaScriptでフォームをつくり、そこに入力した文章を変数としてFlashに渡すことは可能でしょうか? その変数を書き込みとして、Flashに表示したいのですが・・・ また、これ以外にも作成方法がありましたらご教授願います。 ちなみに、これはサーバー側で動かす予定です。 Flashのバージョンは MX 2004 Pro です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash MX 2004はCS4にアップグレードすべき?

    こんにちは。Flashソフトについてご質問させてください。 現在独学で学んだHTML、CSSなどを使ってWeb制作を行っていて、 Flashでも簡単なアニメーション制作をしています。 今後フルFlashサイト制作にも対応できるよう、 actionscriptの勉強も始めようと思っているのですが ソフトをアップデートするかどうかで迷っています。 現在はFlash MX 2004(エデュケーション版)を利用しているのですが こちらはactionscript 2.0となっているため、 3.0に対応するためにCS4にアップグレード(25000円くらい)するかどうかということです。 本やネットで調べたところ 2.0と3.0ですと記載方法が全く異なるということなので、 今から学ぶのであればアップグレードしたして3.0の使用を 学んだ方がいいかと思ったのですが、 3.0だと制作がかなり面倒・ソフトの動作も重いという情報もあり、 またフルFlashサイトといっても、大手企業の特設サイトのような 重~いサイトを作るわけではないので、 制作データが軽くなる3.0のメリットがあまりないのかという心配もあります。 制作現場の方はactionscriptのバージョン変更にどのように対応されているのでしょうか? アップグレードするべきかどうかについて、ご意見いただければ幸いです。 何卒よろしくお願い申し上げます。 <制作環境> ・PC:iMac ・OS:mac OS X ・Flashソフト:Flash MX 2004(エデュケーション版)

  • 初心者です。Flash MXのツールについて

    いつもお世話になっています。 つい2~3日前からFlash MXの勉強をしています。 使用環境はMac OS10.3です。 本を見ながら練習しているのですが、 分からない事があります。 1.鉛筆ツールのオプション 「ストレートにすると 三角形、円、四角など特定の図形に近い形へと自動的に認識して くれる」 …いくら円に近い形を描いても円になりません。 三角も四角も同様です。というよりも他のスムーズ、インク機能 もまったく同じような働きです。本の通りいきません。 これはFlashの問題か私の問題か…どうしたらいいでしょうか? 2.バケツツールのオプションについて 線を描いて少し隙間を作って塗りつぶししました。 ですが「小さい隙間を閉じる」「中くらい…」「大きい…」 を選択して塗りつぶしをしても塗りつぶしが実行されません。 完全に閉じた線なら塗りつぶしができますが隙間があると できないです。オプションが本の通り実行されません。 どうすればちゃんと実行されるのでしょうか? ちなみに参考書は標準Webデザイン講座 Flash MXです。 初心者のため詳しく教えていただけると助かります よろしくお願いします

    • ベストアンサー
    • Flash
  • Flash5 → PHP の変数受け渡し

    Flashのバージョンが古いせいか、PHPとの連携の参考になるサンプルが見付からず困っております。 Flash5からPHPに変数を渡したいのですが、ActionScriptの知識が乏しいため、どのようにしたら渡せるのかが判りません。 ターゲットパスなどはもっともシンプルなもので構わないので、ご教授いただけると助かります。 よろしくお願いします。

  • Flash 参考本(おすすめは?)

    お世話になります。 当方Flashを使用した作品にこれからチャレンジを考えています。 参考本を色々とあさりましたが、サンプルは漫画図を動かす様な物 が多く当方のイメージと違います。イメージ的にはYahooのトップページ右上の様な感じで、文字と静止画を使った色々な表現であったりします。そこで、ご質問です。今までにご使用された参考本で当方のイメージする事が収容されているお勧め本を教えていただけますでしょうか。 ただ、当方の所有するFlashのバージョンはMXとかなり古い物を使用していますが、用件を満たすのであればバージョンの差は関係なく思っています。よろしくお願いいたします。

  • Opera8.53なのにFlashが7に戻る!

    どうもこんにちは。 http://opera.yaske.com/index.php?Opera%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88         ↑ このサイトを参考に 以前のOperaをアンインストールして、 Opera8.53にアップしたのですが、 相変わらずFlashは旧バージョンのままでした。 自分でFlashの最新バージョンの8を インストールして、 Opera8.53 Flash8 ととして 使用していますが 何故8.53にしてもバグが直っていないのでしょうか? 8.52でFlashが旧バージョンの7に 戻るバグがあるとの事で8.53を リリースしたんではないんですかね? もうちょっとOperaに不安を感じています。 最近のOperaってセキュリティ面も どうなんでしょうか? ずばりOperaは常用では危険なブラウザですかね?

  • テキストボックスに変数の中身を表示したい

    flash cs3 as3.0 でタイピングゲームを作成しているんですが初めて触る言語なためうまく進みません。 ゲーム画面でキーをちゃんと押せた回数だけカウントする変数として、var tensu:int;を宣言して、 成績表示フレームでダイナミックテキストにこの変数の中身を表示したいのですが、なかなかできなくて困っています。 カウントするまでは正常に動いています。trace();でなら表示できるのですが・・・ たぶん簡単な事だと思うんですが、何分資料が少なくてなかなか前に進まない状況です。 解る方がいらっしゃいましたらぜひ教えてください。

    • ベストアンサー
    • Flash
  • Flashでの変数利用パス

    こんにちは。 Flashのactionscriptの事で一つどうしても 分からずお聞きしたいのですが、 変数をパスに利用することはできないのでしょうか? たとえば testというオブジェクトを作成しておいて  a = "test"  _root.a._x = 50; のような感じで変数をパスに利用したいのですが これだと_rootの「a」というオブジェクトを探す事に なってしまいうまくいきません。 これは対処法はないのでしょうか? それと_root.a._x = 50と    _root[a]._x = 50の違いが いまだ分からず困っています。 教えて頂けたら非常に助かります。よろしくお願いします。

    • ベストアンサー
    • CSS
  • FLASHでのアクションスクリプトによるグループ別けについて

    FLASH MX を使って、10個のオブジェクトを2つのグループ(Aグループ、Bグループ)にドラッグで移動させてグループ別けをしたいと思っています。任意のオブジェクトをどちらかのグループにドラッグすると、順番に上から並び、また、一度片方にドラッグして並んでしまったものを、もう片方へドラッグすることができ、もともとオブジェクトがあった隙間もうまる(下に並んでいるものが、上にあがってくる)ような仕組みにしたいのですが、よい方法はないのでしょうか? フレームアクションに変数を20個用意して、移動させるごとに変数へオブジェクトのnameを代入しているのですが、どうしても隙間をうめるようなスクリプトがわかりません。 ご存知のかたがいらっしゃいましたら、宜しくお願いいたします。

  • attachMovieでムービークリップを生成したい

    バージョンはflash MXです。 フレームでphpから読み込んだ変数を使用して画面にムービークリップを 配置したいのですが、「帽子」のムービークリップが2つ出てしまいます。 どうすれば出なくなるのか教えてください。よろしくお願いします。 プログラムは追記で記入します。

専門家に質問してみよう