Flash lite1.1で、
デジタル時計(HH:MM)のついた待受けを作りたいと思っています。
仕様としては背景で5枚の画像を1分ごとにループさせて、
画像ごとにデジタル時計を表示させる位置を変えたいと思っています。
(1枚目の画像の時はセンターに、2枚目の画像の時は下部に、という感じ)
現在、下記のような方法で書こうと思って作り始めたのですが
躓いてしまいましたので宜しければご助言をお願いいたします。
まず時計部分については、
ステージ直下に空のMC「myTime」を作って
表示用のレイヤーにダイナミックテキストを配置し、
変数 v_time をセットしました。
で、action用レイヤーに
----------
1フレーム
----------
call("func");
gotoAndPlay(2);
----------
2フレーム
----------
call("func");
----------
3フレーム
----------
gotoAndPlay(2);
----------
4フレーム
----------
●ラベル「func」
nowHour = fscommand2("GetTimeHours");
nowMin = fscommand2("GetTimeMinutes");
//10未満なら頭に0をつける
if (v_hour<10) {
v_hour = "0" add v_hour;
}
if (v_minutes<10) {
v_minutes = "0" add v_minutes;
v_time = nowHour add ":" add nowMin;
と、書きました。
これで時計の表示だけはうまくいきました。
これとは別に、ステージ直下に画像表示用のムービークリップ
「myImage」を作り、1~5フレームに各画像を配置しました。
…と、ここまで自力で調べながらやってみたのですが
この先がわからず困っています。
イメージとしては
・nowMin の値から myImage のフレーム位置を移動
また同様に
・nowMin の値から myTime のx,y座標を変更
という感じかな?と思っているのですが、
どのように書けばよいでしょうか?
また、他に効率の良いやり方がありましたらご教授頂けませんでしょうか?
宜しくお願いいたします。
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() 関数で他ムービークリップに命令することに慣れるのがポイントですかね。
それらに慣れれば
階層などムービーの構造も変更可能になりますから
色々自由にできるようになると思います。
的確なアドバイスを頂いて視界が開けた気がします。
ありがとうございます!
当方ASは3.0から入った人間なのでモバイル特有の考え方が全く身についていませんでした。
ご回答を参考に精進しようと思います。
この度は大変助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- ホームページ作成・プログラミング グリッドレイアウトHTMLとCSS 1 2023/02/22 02:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
paraflaのアクションスクリプト...
-
ASではどうやって記述するのか
-
フレームでのResponse.Redirect
-
格闘ゲームのコマンド→↓→のプロ...
-
ActionScript~ロールオーバー...
-
FLASHでシーンをつなげる。
-
読み込んだテキストを Split で...
-
ムービーの早送りと巻き戻しが...
-
フレームからフレームへの移動...
-
suzukaのタイムラインの設定に...
-
左フレームの選択結果を右フレ...
-
Flashで右クリックメニューにつ...
-
フラッシュで逆再生中の停止に...
-
Flash3.0 ループ再生について
-
phpで音を鳴らす
-
ビルダー2001:フレームの保存
-
マスクの形を自由自在に変えたい
-
動画の遅延再生プログラム
-
WindowsMediaVideoをインライン...
-
ビルダー フレームページから...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三角形ABCのBを可変にしたい
-
外部ムービー読込み後 AS が...
-
paraflaのアクションスクリプト...
-
Flash ドラック&ドロップ 色の...
-
mcのスクロール
-
Flash lite 1.1で待受け作成
-
FlashのMCに複数の動作を...
-
AS3.0でムービークリップ制御
-
【AS3.0】Timerとタイムライン
-
ムービークリップを1コマ飛し...
-
FLASH LITE1.1 制限時間を任意...
-
オンマウスでモーションを停止...
-
関数を順番に実行したい AS3
-
FLASHの同一タイムラインで、複...
-
AS3でムービークリップ再生・早...
-
AS3.0でComboBox
-
as3.0でのフレーム移動制御のス...
-
actionscript3.0で親階層にある...
-
フレーム内に移動したい
-
【C#】wavファイルの複数同時再生
おすすめ情報