• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Flash lite 1.1で待受け作成)

Flash lite 1.1で待受け作成

このQ&Aのポイント
  • Flash lite1.1で、デジタル時計(HH:MM)のついた待受けを作りたいと思っています。
  • 背景で5枚の画像を1分ごとにループさせて、画像ごとにデジタル時計を表示させる位置を変えたいと思っています。
  • 現在、下記の方法で時計の表示はうまくいっていますが、画像の切り替えと時計の位置変更について困っています。どのように書けばよいでしょうか?

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

とりあえずすることは 「すでに作成済みの時計のことは忘れること」でしょうね。 作成済みの時計のことは忘れて 「5枚の画像を1分ごとにループさせる」のみを単独で考えるべきです。 (もし余裕があって,作成済みの時計のエンジンとどうしても結合したいという気になれば,そのときに結合すれば良いと思います。) (「二兎を追う者は一兎を得ず」 です。) というわけで 以下,時計は忘却! ================= 5枚の画像は背景なのですから ステージ直下の一番下の方のレイヤーにムービークリップを作成して そのムービークリップ内の フレーム1~5 にそれぞれ1枚ずつ5枚の画像を配置しているわけですよね? そして,例えば携帯を開いたときは →ムービークリップ内の フレーム1 を表示 その次の分→ムービークリップ内 フレーム2 を表示 その次の分→ムービークリップ内 フレーム3 を表示 その次の分→ムービークリップ内 フレーム4 を表示 その次の分→ムービークリップ内 フレーム5 を表示 その次の分→ムービークリップ内 フレーム1 を表示 その次の分→ムービークリップ内 フレーム2 を表示  ~続く~ というような感じにするわけですよね? その場合 その背景の「5枚の画像入りムービークリップ」に 例えば「bg_mc」というインスタンス名を付けます。 それとは別に, ステージ直下に空のムービークリップを作成します。 その空のムービークリップ内を3フレームにして 各フレームを空白キーフレームに変換します。 そして その空のムービークリップ内のフレーム1には次のように書きます。 //---------------------------- //親階層の「bg_mc」に命令 tellTarget("../bg_mc"){ //再生停止 stop(); } //変数minに分を保存 min = fscommand2("GetTimeMinutes"); //---------------------------- さらに その空のムービークリップ内のフレーム2には次のように書きます。 //---------------------------- //もし今の分と過去に保存したminの値が違えば if (min<>fscommand2("GetTimeMinutes")) { // //親階層の「bg_mc」の再生フレームが最終フレーム未満であれば if (../bg_mc:_currentframe<../bg_mc:_totalframes) { //親階層の「bg_mc」に命令 tellTarget ("../bg_mc") { //次のフレームで停止 nextFrame(); } // //親階層の「bg_mc」の再生フレームが最終フレームに達していれば } else { //親階層の「bg_mc」に命令 tellTarget ("../bg_mc") { //フレーム1に戻って停止 gotoAndStop(1); } } } //変数minに分を保存 min = fscommand2("GetTimeMinutes"); //---------------------------- さらに その空のムービークリップ内のフレーム3には次のように書きます。 //---------------------------- //このムービークリップ内をフレーム2に戻して再生 gotoAndPlay(2); //---------------------------- 以上のような感じでできると思います。 なお フレーム1 の最初ですが, //親階層の「bg_mc」に命令 tellTarget("../bg_mc"){ //再生停止 stop(); } こう↑ではなくて こんな感じ↓にしても良いと思います。 //親階層の「bg_mc」に命令 tellTarget("../bg_mc"){ //ランダムなフレームで再生停止 gotoAndStop(random(_totalframes)+1); } 全般的には スラッシュシンタックスによる特殊なターゲットパスの表記のしかたと くせのある tellTarget() 関数で他ムービークリップに命令することに慣れるのがポイントですかね。 それらに慣れれば 階層などムービーの構造も変更可能になりますから 色々自由にできるようになると思います。

fugtat
質問者

お礼

的確なアドバイスを頂いて視界が開けた気がします。 ありがとうございます! 当方ASは3.0から入った人間なのでモバイル特有の考え方が全く身についていませんでした。 ご回答を参考に精進しようと思います。 この度は大変助かりました。

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

関連するQ&A

  • FLASHスクリプトの不具合?

    こんにちは。 現在携帯向け待ちうけFLASHを作成しています。 ランダムでキャラクターが表示されて、時計機能がついた 待ちうけとなります。 ランダムと時計のスクリプトを設定していますが、両方を機能させると 時計が時間を取得はしますが止まったまま先に進みません。 スクリプト設定は色々なサイトを参考にしているので間違いないと 思うのですが何が問題かわかりません。 どなたかご教授いただきたいです。 ---------------------------------------------------------- キャラクターは全部で7種類。 【ランダムのスクリプト】 fscommand2("SetQuality" , "high" ); r=random(8)+2; gotoAndStop(r); で設定しています。エミュレーターで確認したところちゃんとランダム表示されているので 問題はないと思います。 【時計のスクリプト】 /* ----時間の取得---- */ hours = fscommand2("GetTimeHours"); if( hours<10){ hours = String(hours); hours = "0" add hours; } h = hours; /* ----分の取得---- */ minutes = fscommand2("GetTimeMinutes"); if( minutes<10){ minutes = String(minutes); minutes = "0" add minutes; } m = minutes; /* ----秒の取得---- */ seconds = fscommand2("GetTimeSeconds"); if( seconds<10){ seconds = String(seconds); seconds = "0" add seconds; } s = seconds; こちらも単体設定ではちゃんと時間を取得して秒ごとに表示が変わります。 2フレーム目にもgotoAndPlay(1);を入れています。

  • 携帯FLASH時計をPC向けにしたい

    携帯用FLASHデジタル時計を作成し、動作の確認もとれたのですが、 これをパソコン用にスクリプトを簡単に書き直すことは可能なのでしょうか? /*時間*/ hours = fscommand2("GetTimeHours"); if( hours<10){ hours = String(hours); hours = "0" add hours; } h = hours; /*分*/ minutes = fscommand2("GetTimeMinutes"); if( minutes<10){ minutes = String(minutes); minutes = "0" add minutes; } m = minutes; /*秒*/ seconds = fscommand2("GetTimeSeconds"); if( seconds<10){ seconds = String(seconds); seconds = "0" add seconds; } s = seconds; 「h」「m」「s」はそれぞれ「時」「分」「秒」を表示させるダイナミックテキストとして同じムービークリップ内に配置してます。 FLASHのバージョンは8です。 どなたかわかる方おりましたら、宜しくお願いします。

  • Flash Lite1.1待受時計の年の取得

    ------------------------------------------------- 【FlashLite1.1】待受時計を作ってみる URL : http://ameblo.jp/playmind/entry-10313662962.html ------------------------------------------------- 上記のサイトを参照させていただき、Flash Lite1.1で 携帯用の待受け時計を作成中なのですが、 年の取得で、どうにも行き詰ってしまいました。 使用させていただいているスクリプトは以下のようになっています。  ↓   ↓   ↓   ↓   ↓   ↓ フレーム 1 ------------------------------------------------- //時の取得 h = int(fscommand2("GetTimeHours")); //分の取得 m = int(fscommand2("GetTimeMinutes")); // 時:10の位 h1 = ( h < 10 ) ? ( 10 ) : ( int(h / 10) ); // 時:1の位 h2 = ( h % 10 == 0 ) ? ( 10 ) : ( h % 10 ); // 分:10の位 m1 = ( m < 10 ) ? ( 10 ) : ( int(m / 10) ); // 分:1の位 m2 = ( m % 10 == 0 ) ? ( 10 ) : ( m % 10 ); tellTarget("h1") gotoAndStop(/:h1); tellTarget("h2") gotoAndStop(/:h2); tellTarget("m1") gotoAndStop(/:m1); tellTarget("m2") gotoAndStop(/:m2); ------------------------------------------------- フレーム 2 ------------------------------------------------- gotoAndPlay(1); ------------------------------------------------- こちらのスクリプトを参考にしながら、 秒、月、日は何の問題もなく取得出来たのですが、 年の取得の、2桁 → 4桁への応用がどうしても出来ません。 どなたかお分かりになる方がおられましたら、 ご教示いただけませんでしょうか(>_<) 何卒よろしくお願い申し上げます。。。m(_ _)m ▽使用環境 Win XP / Adobe Flash CS3 / Flash Lite1.1

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

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

    • ベストアンサー
    • Flash
  • FLASH日付・時計待ちうけ

    こんばんは。 Flash Professional 8で日付と時計の待ちうけを作成しようとしています。 まず時計を作成していたのですが、ムービープレビューでは秒は問題なく動作しているのですが、携帯に転送すると秒が動かず、ページ切り替えすると進んだ秒になり、また動きません。 何が問題なのかわからないので是非教えてください。 尚、レイヤー1(上)にスクリプト、レイヤー2(2)背景イラストを入れております。また、フレームは1だとムービープレビューでも秒が動かないのでフレームを挿入して2にしました。 スクリプトは以下の通りです。 hh = fscommand2("GetTimeHours"); //時の取得 mm = fscommand2("GetTimeMinutes"); //分の取得 ss = fscommand2("GetTimeSeconds"); //秒の取得 if(hh<=9){ hour1 = 0; hour2 = substring(hh, 1, 1); }else{ hour1 = substring(hh, 1, 1); hour2 = substring(hh, 2, 1); } if(mm<=9){ min1 = 0; min2 = substring(mm, 1, 1); }else{ min1 = substring(mm, 1, 1); min2 = substring(mm, 2, 1); } if(ss<=9){ sec1 = 0; sec2 = substring(ss, 1, 1); }else{ sec1 = substring(ss, 1, 1); sec2 = substring(ss, 2, 1); } また、日付2008年02月03日と言うように表示させる方法も簡単な作成の仕方があれば教えて下さい。 宜しくお願いします。

    • ベストアンサー
    • Flash
  • 携帯用Flashでの時間によって表示を変える方法について

    携帯用の時計待受を制作しています。 Flash lite1.1です。Flash8使用しています。 12時台だけ違う表示にさせたいのですが、 常に4フレーム目が表示されてうまくいきません。 以下のスクリプトを2フレーム目に記載しています。 stop(); m = fscommand2("GetTimeHours"); if (m = 12) { gotoAndStop(4); break; } else { gotoAndStop(3); break; } 色々と試してみたのですが、始めたばかりで なかなかうまくいきません。 すみませんがご教授お願い致します。

  • FlashLite1.1 タイプライター風Flash

    こんにちは。Flash勉強中の者です。 FlashLite1.1で1文字ずつ文字を表示するFlashを作成しました。 1フレーム目(初期化) str="こんにちは"; num=0; 2フレーム目 num++; if (num<=length(str)){ sample=sample add substring(str,num,1); }else{ stop(); } 3フレーム目 gotoAndPlay(2); 3フレーム構成になっているこのFlashですが,なんとか1フレームで収めることはできないでしょうか? Lite1.1ですのでsetIntervalやタイマーが使えなくて,上記の策も苦肉で対応しました。 タイプライターに関する記述はネットにたくさんありますがLite1.1でできたという例を見たことがありません。 みなさんは1.1は避けてらっしゃるんでしょうか。。。

    • ベストアンサー
    • Flash
  • ボタンを押すたびに画像を切り替えるには?

    まずソースを載せます↓ <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=shift-jis"> <title>ボタンを押すたびに画像を表示します</title> <body bgcolor="#FFFFFF"> <script type="text/javascript"> function func1(str) { document.write('<img src="c:/MyImage/dog1.jpg" width="104" height="91" />'); } function func2(str) { document.write('<img src="c:/MyImage/dog2.jpg" width="104" height="91" />'); } function func3(str) { document.write('<img src="c:/MyImage/dog3.jpg" width="104" height="91" />'); } function func4(str) { document.write('<img src="c:/MyImage/dog4.jpg" width="104" height="91" />'); } </script> </head> <body bgcolor="#FFFFFF"> <form id="myForm" name="myForm"><p> <input type="button" value="ボタン1" name="button1"onclick="func1('dog1.jpg');"> <input type="button" value="ボタン2" name="button2"onclick="func2('dog2.jpg');"> <input type="button" value="ボタン3" name="button3"onclick="func3('dog3.jpg');"> <input type="button" value="ボタン4" name="button4"onclick="func4('dog4.jpg');"> </p></form> </body> </html> 今回の質問内容はボタンを押すたびに画像を表示するjavascriptプログラムです 画像はCドライブ直下のMyImageフォルダにdog1.jpg,,dog2.jpg,dog3.jpg, dog4.jpgを入れています なんで動かないのがわからないです 回答できたらよろしくお願いします

  • Flash MX フレーム ランダムに取得する

    現在、あるコンテンツ製作していて、 画面上に5個画像(ムービークリップ)を表示しています。 そのムービークリップのなかには、グラフィックが10個入っていて、 targetFrame = Math.ceil(Math.random()*10); this.gotoAndPlay(targetFrame); というスクリプトで10個のフレーム中からランダムに表示させています。 (画面上の5個の画像は、その1個ずつが10個(フレーム)の中からランダムに選ばれるので、 5個の中には、同じ画像(同じフレーム)が含まれる場合があります。) 画面上に、あと2個画像(ムービークリップ)を追加し、その2個も、 10個のグラフィック(フレーム)中からランダムに表示させたいのですが、 かならず2個とも同じグラフィック(同じフレーム)を選ばせるにはどうすればよいでしょうか? Flash歴は長いのですが、知識はあまりない馬鹿な私に教えてやってください。

    • ベストアンサー
    • Flash
  • FLASH CS5でnow loadingでランダム再生を読み込みたい

    FLASH CS5でnow loadingでランダム再生を読み込みたい FLASH CS5で10枚の画像(表示されいるのは1枚で、左右に隣の画像が少し見える感じ)があり、その下に右、左のボタンがありを押していくと、画像が切り替わっていくアニメなのですが 開始のフレームをアクセスする度に変わるランダムにしたいです。(開始の画像が入るたびに変わる) そのためにnow loadingですべてを読み込ませてからスタートさせないとなのですが、 1フレーム目に以下のタグを入れました。 このやり方だと、エラーがでます。 //再生停止 stop(); //イベントリスナーを登録 //(毎フレーム時間で実行,実行関数 goRnandom) this.addEventListener(Event.ENTER_FRAME,goRnandom); //関数 goRnandom の定義 function goRnandom(evt:Event):void { //変数 per にロードされたパーセントを取得 var per:Number = this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal * 100; // //もしロードパーセンテージが 100 に達すれば if (per >= 100) { //登録したイベントリスナーを削除 this.removeEventListener(Event.ENTER_FRAME, goRnandom); //変数 rnd_num に 0以上1未満 のランダムな数を代入 var rnd_num:Number = Math.random(); if (rnd_num < 10 / 100) { gotoAndPlay(2); } else if (rnd_num < 10/100) { gotoAndPlay(8); } else if (rnd_num < 10/100) { gotoAndPlay(14); } else if (rnd_num < 10/100) { gotoAndPlay(20); } else if (rnd_num < 10/100) { gotoAndPlay(26); } else if (rnd_num < 10/100) { gotoAndPlay(32); } else if (rnd_num < 10/100) { gotoAndPlay(38); } else if (rnd_num < 10/100) { gotoAndPlay(44); } else if (rnd_num < 10/100) { gotoAndPlay(50); } else { gotoAndPlay(57); } } } どこか間違っている箇所はあるのでしょうか? 教えてください。

    • ベストアンサー
    • Flash