• 締切済み

FLASH liteで選択したグラフィックを変更

noname#35109の回答

noname#35109
noname#35109
回答No.2

#1です。 #1のスクリプトをコピペしてみても, そういう(#1の補足で書かれているような)エラーは出ませんよ。 (どうやったらそっくりのエラーが出るのか検証できませんでした。) パブリッシュ設定でちゃんと Flash Lite ?.? を選択されていますでしょうか。 また, ■のボタンに書くべきスクリプトは, ちゃんとボタンシンボルのインスタンスに書かれましたでしょうか, また,そのスクリプトの最後はすごい閉じ括弧(}}}}状態)になっていますが, 閉じ括弧の数にミスはないでしょうか。 インデントを付けると最後の on (keyPress "5") は次のようになっています。 //////////////////////////////////////////////////////////////// // 5キーを押したとき on (keyPress "5") {   // ---以下は当たり判定です---   // 変数 i が 0~29 の間でループ   for (i=0; i<=29; i++) {     // m? の座標が カーソルMC の座標の±10未満で     if (getProperty("m" add i, _x)<cursor_mc._x+10) {       if (getProperty("m" add i, _x)>cursor_mc._x-10) {         if (getProperty("m" add i, _y)<cursor_mc._y+10) {           if (getProperty("m" add i, _y)>cursor_mc._y-10) {             // m? 内のフレームを進める             tellTarget ("m" add i) {               play();             }           }         }       }     }   } } //////////////////////////////////////////////////////////////// ※この↑スクリプトのインデントは,   全角空白文字で入れているため,   このスクリプトをコピペしてもシンタックスエラーになります。 ============================ 以下は訂正ではありません。 訂正ではありませんが#1を回答したあと, ちょっと考えなおしました点がありますので回答します。 縦や横に ● が並ぶ数が それぞれ 『10 個を超えない場合』 でしたら, つまり 『10行10列以内』 でしたら, 全体的な構造はそのままで, ● のインスタンス名を次のようにして, m00 m01 m02 m03 m04 m05 m10 m11 m12 m13 m14 m15 m20 m21 m22 m23 m24 m25 m30 m31 m32 m33 m34 m35 m40 m41 m42 m43 m44 m45 _root のフレーム1に書くスクリプトを次のように変更して, -------------------------- // 間隔を30に設定 kankaku = 30; // xyポジション の初期値を設定 px = 0; py = 0; -------------------------- ■ のボタンに書くスクリプトを次のように変更する方が簡単です。 ------------------------------------- // 2キーを押したとき(← へ移動) on (keyPress "2") { // 変数 px の値が 0 より大きい場合 if (px>0) { // カーソルMC を 左へ kankaku 動かす cursor_mc._x -= kankaku; // 変数 px の値を 1 減算 px -= 1; } } // 3キーを押したとき(→ へ移動) on (keyPress "3") { // 変数 px の値が 5 より小さい場合 if (px<5) { // カーソルMC を 右へ kankaku 動かす cursor_mc._x += kankaku; // 変数 px の値を 1 加算 px += 1; } } // 1キーを押したとき(↑ へ移動) on (keyPress "1") { // 変数 py の値が 0 より大きい場合 if (py>0) { // カーソルMC を 上へ kankaku 動かす cursor_mc._y -= kankaku; // 変数 py の値を 1 減算 py -= 1; } } // 4キーを押したとき(↓ へ移動) on (keyPress "4") { // 変数 py の値が 4 より小さい場合 if (py<4) { // カーソルMC を 下へ kankaku 動かす cursor_mc._y += kankaku; // 変数 py の値を 1 加算 py += 1; } } // 「0」キーを押したとき on (keyPress "0") { // m?? のフレームを進ませる tellTarget ("m" add py add px) { play(); } } ------------------------------------- これで, 当たり判定の複雑な for文 ループを取りはらうことができます。 以上が考えなおしたものです。

noname#43612
質問者

お礼

すみません。下のカーソルずれてます。 一番右に移動です。

noname#43612
質問者

補足

すみません、 Flash Lite ?.? と言うのがなかったのでFlash Player4にすればエラーがなくなりました。 簡単な方法を教えてくださってありがとうございます。 確認をすると、カーソルを縦や横移動した時に 一番端に行くと止まってしまうので最後の●にいくと また逆の端に行くようにしたいと思っていますが そのような事は可能でしょうか? 例:この状態で←に移動すると ●●●●●●●●● ↑ (カーソル) 例:このように逆の一番端に移動する。 ●●●●●●●●●         ↑       (カーソル)

関連するQ&A

  • (Flash Lite 1.0) フレームアクションでのキーイベント

    携帯用のFLASH(Flash Lite 1.0)で静止画像だけの絵本を作っています。 インタラクティブモードで、ページをめくって次のフレームへ移動させる方法についての質問をさせてください。 今までは、「次ページへ」のようなボタンシンボルを作って画面の下段に置き、そのボタンに対するaction scriptとして ************************************* on (release){ nextFrame(); } ************************************* のように書いて実現していました。 これだとそのボタンシンボル自体が画面レイアウト上邪魔になってきたので、ボタンは無くしてしまい、ボタンにフォーカスさせることなく、フレーム上のアクションスクリプトで記述して、いきなり0や1のキーをたたいて次のフレームへ移動させられないか、と考えています。 ところが、onイベントはボタンにしか使えないようで、身の程知らずながらエキスパートモードに切り替えて、強引にフレームに使おうとしてもシンタックスエラーになってしまいます。 FLASHの教則本などには、"keyListener()"などの手法が載っていますが、携帯FLASHでは、FLASH Player4という制約があり使えません。 以前、どなたかのサイトで入手した携帯FLASHで、確かにボタンを使わずにキーをたたくだけで次のフレームは移動させていたのは記憶にあるので、何らかの方法は存在すると思うのですが、完全に暗礁に乗り上げてしまっています。どなたかアドバイスがありましたらよろしくお願いします。

    • ベストアンサー
    • Flash
  • VB6.0でボタンの選択状態を解除する方法を教えて

    ください(ここまでタイトル) VB6.0で落ちものゲームを作っています。ゲーム画面には実際プレイする画面、左ボタン、右ボタン、下ボタン、ゲーム開始ボタン、一時停止ボタンが配置されています。上から落ちてくるアイテムをボタン若しくは方向キーで移動を可能にしたのですが、ゲーム開始ボタンを押すとゲーム開始ボタンが選択状態(フォーカス?)になり、方向キーを押しても他のボタンに選択が移るだけでゲームにキー入力が反映されません。何度が同じ方向キーを押しているとフォーカスがどのボタンからも外れ、正常にキー入力が反映される状態になります。ボタンを押しても選択状態にしない方法ってあるのでしょうか?VB6.0というバージョンもあり、検索しても方法が見つかりませんでした。お願いします。

  • FLASHのボタンによるフレーム切り替えについて

    FLASHには、ボタンをクリックすると他のフレームに移る機能があります。(goAndPlay()など) ここで質問です。 http://t.pic.to/xhtrpのように、ボタンをクリックしたら、そのクリック先のフレームが左(あるいは右)から表れて移動するようにしたいのです。 ご伝授ください。

    • ベストアンサー
    • Flash
  • flash lite1.1 トップページ画面の作り方

    flash lite1.1 を使用してトップページ画面を作ろうと思っています。 auの公式サイト(モバイル)やドコモの公式サイト(モバイル) といったようなボタンが動くつくりというのはすべてプログラムで制御しているのでしょうか? もしくはフレームごとに各動きをつくり、透明ボタンをつくり、gotoAndStopで各動きのフレームで 飛ばしているだけなのでしょうか? 上記のようなサイトの構造を知ってみえる方がみえましたら、ぜひよろしくお願い致します。

  • 数字キーでのフォーカス制御について(FlashLite1.1)

    flash初心者です。 flash lite1.1についてご質問させて下さい。 ただいま,学習を踏まえて簡単なボタン選択肢(ボタンオブジェクト)を操作できるflashを作成しています。 サウンドノベルを想像していただければ分かりやすいと思います。 選択肢が,1フレームに縦2~5個程度表示され,その選択肢を数字キーの8でフォーカス上へ,数字キーの2でフォーカスが下へ移動するものを考えています。(デフォルトのフォーカスは選択肢の最上部) フォーカスが最上部にきたときに8を押下してもそれ以上上がないので何も反応せず,2も同様に最下部まできたときに2を押下しても反応はなしです。なお,上下キーは使わない想定です。 色々ネットで調べるとliteではフォーカスの制御ができないようで困っています。 ASを利用して座標でコントロールするのが主流のようですが,変動する選択肢数に対して,どのように座標をコントロールすればよいか検討がつかない状態です。 勉強不足といえばそれまでですが,なんとか実現できる方法があれば助かります。

    • ベストアンサー
    • Flash
  • FLASHゲーム制作についての質問

    ただ今、フラッシュにてアクションゲームを制作しています。 内容はアクションスクリプト2.0でロックマン的なものを、 色々なサイトを参考にしながら作っているのですが、 ひとつスクリプトでわからないことがあるので質問させていただきます。 方向キー右、左で画面の中でキャラクターを動かすことはできるのですが、 この方向キーの右or左を二回連続で押したとき、 キャラクターのダッシュの動きのムービクリップ再生&移動速度を上げる ということをさせたいのですが、方法がわかりません。 このような事をするにあたってどうすれば良いか何か助言や参考HPを教えていただけないでしょうか。

  • 左フレームの選択結果を右フレームに反映させる方法

    現在私はフレームを使ってサイト?を作ろうとしています。 画像のように親フレーム(frame.php)の中に左フレーム(left.php)と右フレーム(right.php)を設置しています。左フレームにあるラジオボタンで選んだものを右フレームにも反映させるにはどうすればいいのか分からず困っています。説明が分かりにくいかもしれませんが、分かる方がいましたらよろしくお願いします。 (機能) 右フレームの中のテキスト部分をドラッグし、反転させる。 ↓ テキスト部分を反転させたまま右フレームの上にある色付けボタンを押す反転した部分のテキストの色が左で選択している色に変わる。 ※どうしてわざわざ選択部分を別にするの?と疑問に思うかもしれませんが、これはあくまで例えです。

    • ベストアンサー
    • PHP
  • 携帯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 が無効です。】 どこか間違いがあるかご教授お願い致します。

  • 外部画像を読み込み、ボタンで右左に動かしたい

    ボタンで1方向に動かすのでしたら、 1フレームでストップして、ボタンで2フレームに移動して トゥイーンで動かしたら良い。 位しか分からないのですが ボタンを設置して、右と左に同じ画像を動かすにはどうしたらいいでしょうか? 環境 Windouw7 CS5 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • FLASH LITE1.1のテキスト入力について

    FLASH LITE1.1で、テキスト入力フィールドからユーザに数字を入力してもらい、その数字をもとにタイムライン上の適切なラベルに跳びたいのですがうまくいきません。 具体的には、フレームに次のASを書き、 fscommand2("SetInputTextType","nb","Numeric"); stop(); ボタンに、次のASを書いたのですが、 on(keyPress"*"){gotoAndPlay("eval("nb")");} うまくいきません。 クイズがタイムライン上に順に20問用意されており、それぞれのクイズの最初のフレームに、順に1~20とラベルされており、ユーザーが1~20のどれかを入力すれば、そのラベルに跳ぶようなイメージです。 ご教授いただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • Flash