• 締切済み

携帯Lite1.1用のプログラム

こんにちは。 現在、携帯用のプログラムをテスト中なのですが、 キー5を押すとステージにあるムービークリップ(myobj_mc)を 8ドット単位に右に3個複製するというテストです。 ※myobj_mcは、ボタンMCです。 ※複製名は、clip0, clip1, clip2 ボタンインスタンスに下記のasを記述。 on ( keyPress "5" ) { for ( i = 0; i < 3; i++ ) { newName = "clip" add i; duplicateMovieClip("myobj_mc", newName, i ); xpos = i * 8; setProperty( newName, _x, xpos ); } } 動作環境 XP Flash8pro Lite1.1 以上のプログラムなのですが、エラーが出てしまいます。 Ctr+Enter時でエラー。 警告 :このムービーは Flash Lite 1.1 Player でサポートされていない機能を使用しています シーン = Scene 1, レイヤー = 玉くん, フレーム = 1 :Flash MX ボタンインスタンス名 シーン = Scene 1, レイヤー = 玉くん, フレーム = 40 :Flash MX ボタンインスタンス名 実行後のエラーです。 【次のコンテンツに問題があります : 5 ~ SWF データ内の ActionScript が無効です。】 どこか間違いがあるかご教授お願い致します。

みんなの回答

noname#35109
noname#35109
回答No.1

アクションパネルのActionScriptを書く部分の上には, チェックマークボタンの「シンタックスチェックボタン」や, 行がずれたようなボタン「自動フォーマットボタン」がありますから, とりあえずそれでActionScriptのチェックをしてみましょう。 書かれているスクリプトではエラーが出ないと思いますが。 > 警告 :このムービーは Flash Lite 1.1 Player で… というのは, そこに書いてある通り, 「玉くん」というレイヤーの,フレーム1 と フレーム40 にあるボタンインスタンスに, インスタンス名を付けているからだと思います。 Flash Lite 1.1 では,ボタンインスタンスにインスタンス名が付けられません。インスタンス名を取ってください。 それだけのことだと思います。 Flash 8 でもグラフィックインスタンスにインスタンス名が付けられませんよね。 それと同じようなことです。 ボタンインスタンスにインスタンス名を付けられたとしても, 結局外部からボタンインスタンスを操作したり, 外部から onReleace=function() などの動作定義をすることはできませんから, インスタンス名を付ける意味などは元から存在しないのですよ。

Suminofu
質問者

お礼

ありがとうございます!! 解決しました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • duplicateMovieClipしたMCをSharedObjectで保存、読み込みたい

    【やりたいこと】 duplicateMovieClipで何個も複製したムービークリップをSharedObjectで保存し(て読み込み)たい。 【わからないこと】 ユーザーが何個複製するかわからないものをi変数でカウントして それをSharedObjectで保存しようとしているが、 ユーザーが何個複製するかわからないMCに対する 一括命令文?がうまく書けない。 【現状】 まず、MC_printというMCの中にisuというMCがあります。 そのisuの上に空ボタンを置いて、以下のような スクリプトを書きました。 on (press) { _root.MC_print.isu.duplicateMovieClip("isu"+i, i++); //isuというMCをクリックするたびに複製していく _root.MC_print["isu"+i]._x = 500; //重なるので移動させてる } そして、保存ボタンに on (press) { _root.Save_Point(); } と書いていて、 SharedObjectインスタンスの生成は mySharedObject = SharedObject.getLocal("xypoint","/"); としています。 そして肝心のfunction命令文を function Save_Point() { mySharedObject.data["isu"+i._x] = _root.MC_print["isu"+i]._x; mySharedObject.data["isu"+i._y]= _root.MC_print["isu"+i]._y; } としています。 が、動きません。 理由は自分でもなんとなくわかるのですが、 複製されたMCが何個複製されたかわからない。 iの変数がちゃんと共有されてないんじゃないかと思っています。 が、_global変数にしても「isu1」「isu2」という風に インスタンス名を_nameで調べてテキストボックスで確認しても 複製はされてるが、このfunction命令文だとそのインスタンス名毎に (全てに)命令されてないってことですよね・・・。 for文とかを使うんでしょうか。でも何個複製されるか わからないし・・・。よくわかりません・・・。 環境はWindowsXP、FlashMXです。 MX以前の時代から突然またフラッシュを触り始めたので 新しいスクリプトなどはまったくわかりません。 なにかヒントでもいただければ幸いです。どうぞよろしくお願いいたします。

  • Flash Lite 1.1で、複数のMCをACで制御する方法を教えてください。

    Flash Lite 1.1を使って2つのMCを制御したいのですが、うまくいきません。 2つのMCに「hanabira1」と「hanabira2」のインスタンス名をそれぞれ設定し、このMCをそれぞれスクリプトで動かそうと以下のプログラムを入力しました。 for (i = 1; i < 2; i++) { hana = "hanabira" add i; hana._rotation += 5; } これでパブリッシュをしたのですが、 【次のコンテンツに問題があります : 5 ~ SWF データ内の ActionScript が無効です。】 というエラー文が表示されて動作してくれませんでした。 繰り返し関数を用いて、MCを 1.「hanabira」+「数値」で文字列の結合 2.結合した文字列と同じMCを制御 3.「数値」に1を足して、また1番を繰り返す というのをやりたいのですが、解決方法をご存知の方がおられましたら、是非ともご教授をお願いしたく思います。 よろしくお願いします、

    • ベストアンサー
    • Flash
  • FLASHで印刷ができません

    FLASHで印刷ができません。 ボタンを押しても、何も反応がありません。 Windowsの印刷ダイアログすら出ません。 ・状況 プリントボタンを作りました。(MC) MC内に以下のコードを書きました。 on (release) { printAsBitmap("_root.square", "bmovie"); } squareとはインスタンス名です。 外部画像(jpg)を読み込むMCになります。 シーンにそのまま置いてあります。 お手数をお掛けしますがよろしくお願い致します。 ・環境 FLASH MX Windows2000

    • ベストアンサー
    • Flash
  • FlashのActionScript詳しい方お願いします

    Flashで波紋が広がっていくようなムービーのスクリプトなのですが、うまく行きません。 スクリプトが間違っているのだと思うのですが、一応本を参考に同じように入力したつもりですのでどこが間違っているのかが分かりません。 デバックしたら下のようなメッセージが出るのですが、「;」をどこかに入れたらいいのでしょうか? 『 シーン = シーン 1, レイヤー = mouse, フレーム = 1 : 行 9:';' が必要です。 onClipEvnet(mouseMove) { 』 ----------------------------------------- 以下が記述したスクリプトです。 onClipEvent(load){ if(_name== "mc"){ max=10;//複製する個数 for(i=0; i<max; i++){ this.duplicateMovieClip(i,100+i);//複製 } } } onClipEvnet(mouseMove) { if(_name=="0"){//一つ目のmcはマウスの座標とする _x=_parent._xmouse; _y=_parent._ymouse; }else{//それ以降は自分の名前から-1引いたインスタンス名の座標を取得する _x=_parent[int(_name)-1]._x; _y=_parent[int(_name)-1]._y; } updateAfterEvent(); }

  • ムービークリップ(以下mc)を複製したときの深度の設定で困っています。

    ムービークリップ(以下mc)を複製したときの深度の設定で困っています。 使用ソフト:Adobe Flash CS4 professional flashのバージョン:flashlite1.1 duplicateMovieClip(コピー元mc名,新mc名,深度(例えば10など)); と書いてmcの複製はしっかりできているのですが、深度を「レイヤー内で一番上」に設定したいのですが、どう設定していいかわからず困っています。 通常、レイヤーが3つある場合、重ね順で言うと一番上のレイヤーが最前面に、一番下のレイヤーが最背面に設定されています。 そこで、一番下のレイヤーに上記プログラムを書いて一番下のレイヤーにmcを複製したいのですが、複製したmcは一番上のレイヤーよりも最前面に配置されてしまうのです。 duplicateMovieClipを書いているレイヤー内で最上位に配置したい場合、深度にどのような設定をすればいいか教えてください。

  • テキストスクロール(外部ファイル読み込み)

    FLASH8を使ってます。 FLASHを勉強中なのですが、アクションスクリプトをいじるようになるとどうしても恐々というか…成功しないでいます。 http://www.flashiroha.com/script/as5.html ↑を参考の『TextField及びスクロールボタンを作成、使用する方法』を作ってるのですがプレビューをするとエラーが出るんです。 『**エラー** シーン = シーン 1, レイヤー = レイヤー 4, フレーム = 1 :行 1:マウスイベントはボタンインスタンスでのみ使用できます。 on(press) { **エラー** シーン = シーン 1, レイヤー = レイヤー 4, フレーム = 1 :行 2:シンタックスエラー   _root.textbox.scroll--; **エラー** シーン = シーン 1, レイヤー = レイヤー 4, フレーム = 1 :行 3:シンタックスエラー   } **エラー** シーン = シーン 1, レイヤー = レイヤー 3, フレーム = 1 :行 1:シンタックスエラー   on(press) { ActionScript エラー数 :4 報告済みエラー :4』 です。 指定してあるとおりにしてるつもりなんですがどうしてエラーがでるのか、 外部ファイルを読み込めないでいるのか分かりません。 どなたか教えていただけませんか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASHでムービーの再生・停止

    お世話になっています。 本を見ながら、なんとかひとつアニメを作りました。 よく見る START、REPLAYボタンをつけたくて格闘中なのですが、 何度やってもエラーが出てしまいます・・。 **エラー** シーン = シーン 1, レイヤー = ボタン, フレーム = 1 :行 1:マウスイベントはボタンインスタンスでのみ使用できます。 on(release){ **エラー** シーン = シーン 1, レイヤー = ボタン, フレーム = 1 :行 2:シンタックスエラー play(): **エラー** シーン = シーン 1, レイヤー = ボタン, フレーム = 1 :行 3:予期しない '}' があります。 } ActionScript エラー数 :3 報告済みエラー :3 >> ボタンは、ボタンインスタンスで・・・ というエラーなのですが、ボタンを作るやつ(アップ、オーバー 設定するの)で作っているし、ライブラリのシンボルの種類のところはボタンに なっていますし、何が悪いのかわかりません・・。 <F12>キーでブラウザで確認したら、問題なく制御されているのですが、エラーがあるということは 問題アリということですよね・・? すみません・・ よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash Lite1.1 について

    お世話になっています。 携帯用のアプリ開発をができる Flash Lite1.1 を扱い始めて、1週間になります。どうしても分からないことがでてきたので、こちらで質問をさせていただきます。 現在、任意の複数のswfファイルを自由に作成と削除を行える携帯アプリを考えています。機能としましては、番号キーで指定した処理を行いたいMovieClipに対して、ファイルのロードか削除を行うというものです。 以下は、読み込み・削除部分のスクリプトです。 // *bボタンで読み込みを行う on( keyPress "*") { // 作成するのMovieClipを指定 newName = "cscr" add no; // MovieClipの複製 // 深度は全て同じ位置 duplicateMovieClip("scr", newName, 0 ); // MovieClipのロード url = "Load" add no add ".swf"; loadMovie ( url, newName ); } // #ボタンで削除 on( keyPress "#") { // アクセスするMovieClip名 newName = "cscr" add no; unloadMovie( newName ); } no : 作成するmovieClip番号・ロードするswfファイルの番号 scr : ムービーファイル表示用MovieClip( あらかじめめ画面に配置してあります ) 私が分からないところは、表示するMovieClipの切り替えです。 作成する分に関しては、作ったMovieClipが表示されていくのですが、以前に作成したムービークリップを表示のさせ方が分かりません。Load0.swf、Load1.swf、Load2.swfをロードした場合、cscr0、cscr1、cscr2が作成され、cscr2が表示されている時に cscr0 の内容に切り替えたいと思います。 私が行った方法は、tellTarget を使い、表示するMovieClip以外は、プロパティの_visible 非表示に設定したり、座標を画面外に移動させる方法を試しましたが、思った通りに動作をしませんでした。 どうやって、表示をさせたらよろしいでしょうか? また、削除するスクリプトに関してですが、本当に削除されているのでしょうか?

    • ベストアンサー
    • Flash
  • サウンドの再生停止について

    winXP flash ver8です。 ムービーが終るとともにBGMも止まるようにしたいのです。 現在のシーンは シーン1 シーン2 シーン3 シーン4 シーン5 シーン6 シーン7 がありまして、シーン5からムービーが始まるようになっており、 シーン7まで再生されるようになっています。 シーン7の最後のムービーが終了すると同時にBGMも終らせたいのです。 シーン5には、あるレイヤーに「bgm」というインスタンス名のMCを配置しております。 リンケージ設定などはしておりません。 どうかよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 特定レイヤーの特定フレーム間だけ独立させて動かしたい(Flash Lite1.1)

    Flash Lite1.1で携帯待ち受けFlashを作っています。 (※Flashは始めて数日レベルです) 時計機能を付けるために時計用のASレイヤーを作り、その1フレームに時計の動きのAS、2フレームに gotoAndPlayで1フレームに戻すようにしているのですが、そうすると1、2フレーム間を繰り返すことに なるので、3フレーム以降の他のレイヤーにあるMCが止まってしまいます。 また、時計は携帯を開いた瞬間から表示と更新をさせなければいけないので、そのASは1フレームから 動かせないのです。 手元にある参考書のサンプルでは他のレイヤーも2フレームで終わるような内容なので問題は 出なかったのですが、今回のような作りではどうにも解決できず、いろいろ検索してみたのですが 全くお手上げ状態です。 何か対処法はないでしょうか?

    • ベストアンサー
    • Flash