トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     時間経過によるアクション
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kabosu
Åê¹ÆNo.12329
投稿日時: 2004-11-15 3:02
新米
居住地: 愛知県
投稿: 5
使用環境:
WinXP(pro),FLASH MX2004
IE6.0
時間経過によるアクション
こんばんは。再び質問に来させていただきました、kabosuといいます。

 ?常に画面内を動き回っているMCが3つあってそれらのMCは自分で動かせる(ドラッグ&ドロップ)
 ?30秒間何もしないと強制的に全てのMCは画面下方に落下する。
 ?落下した状態で再びマウスを動かすと再び動き出す。

という動きが作りたいのですが?は出来たのですが?と?が上手く出来ません、getTimer()を使用するというのはなんとなく分かるのですが…。

詳細検索や過去ログを調べてみたのですが、よくわからなくてお手上げ状態です。よろしくお願いします。
SeeDa!!
Åê¹ÆNo.12333
投稿日時: 2004-11-15 10:59
職人
居住地: Nagoya
投稿: 221
使用環境:
WinXP
Flash CS4
au:W33SA?
Re: 時間経過によるアクション
getTime()でできますよ

MCとの最終接触時間を記録します。
初期値として現在時間をセット
myTimer = new Date();
lastContact = myTimer.getTime();

現在時間と最後接触時間の差から30秒以上経過してるかを判断
if (myTimer.getTime() - lastContact > 30*1000) { … }

再び動き出したらタイマーに今の時間をセット
lastContact = myTimer.getTime();

/* 丸数字は機種依存文字だから使用を控えましょう */
野中文雄
Åê¹ÆNo.12334
投稿日時: 2004-11-15 11:39
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 時間経過によるアクション
機種依存文字は、プラットフォームが異なると、正しく表示されません。
引用:

おやりになりたいことは、できるだけ具体的に考え、ステップをひとつずつクリアしましょう。抽象的・一般的なご質問には、抽象的・一般的にしかお答えできません。

「何もしない」というのは、何をしないのですか? マウスを動かすことでしたら、onClipEvent (mouseMove)またはMovieClip.onMouseMoveイベントハンドラで検出することができます。キーやMovieClip、ボタンなどの操作も含むのでしたら、それらを基本的には列挙して対応しなければなりません。

何かしたら、getTimer()関数でそのときの時刻を変数に取得し、その時刻からの経過時間をonClipEvent (enterFrame)またはMovieClip.onEnterFrameハンドラで監視します。経過時間が30秒(30000ミリ秒)を超えたら、必要な処理を行います。

「落下した状態」というのは、落下し終わって、画面上には表示されない状態ですか? それとも、どこか途中で止まっているのですか? 後者なら、MovieClipを落下させるスクリプトの中で、停止するかアニメーションを継続するかのフラグを立てて処理する必要があるでしょう。
引用:
kabosuさんは書きました:
(2)30秒間何もしないと強制的に全てのMCは画面下方に落下する。
(3)落下した状態で再びマウスを動かすと再び動き出す。

という動きが作りたいのですが(1)は出来たのですが(2)と(3)が上手く出来ません、getTimer()を使用するというのはなんとなく分かるのですが…。


----------------
 

kabosu
Åê¹ÆNo.12335
投稿日時: 2004-11-15 12:41
新米
居住地: 愛知県
投稿: 5
使用環境:
WinXP(pro),FLASH MX2004
IE6.0
Re: 時間経過によるアクション
SeeDa様、野中様、早速のアドバイスありがとうございます!

機種依存文字を使ってしまって申し訳ありませんでした。今後気をつけます。

引用:
「何もしない」というのは、何をしないのですか? マウスを動かすことでしたら、onClipEvent (mouseMove)またはMovieClip.onMouseMoveイベントハンドラで検出することができます。

おっしゃる通り、何もしない状態というのはマウスが動かなくなった状態(マウスを動かしていない状態)です。

引用:
「落下した状態」というのは、落下し終わって、画面上には表示されない状態ですか? それとも、どこか途中で止まっているのですか? 後者なら、MovieClipを落下させるスクリプトの中で、停止するかアニメーションを継続するかのフラグを立てて処理する必要があるでしょう。


例えば画面サイズが600×400のときy軸方向400pxの地点で停止する(途中で止まる)ようになっています。
両方とも説明不足で申し訳ありませんでした。

フラグを立てる必要があるのですね、わかりました。お二人のアドバイスを参考に、もう一度1つ1つの動作を確認しながら作り直してみます!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops