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

パスワード:


パスワード紛失

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

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
anais
Åê¹ÆNo.19726
投稿日時: 2005-8-26 20:38
新米
居住地:
投稿: 11
使用環境:
Windows XP Home
FLASH MX 2004 Pro
指定時間が経過でアクション
アクションスクリプトで指定時間が経過すると
何か実行するようにしたいんですけど、
どうすればいいのでしょうか?

よろしくお願いします。
まなぶ
Åê¹ÆNo.19730
投稿日時: 2005-8-26 21:26
新米
居住地: 東京都杉並区
投稿: 13
使用環境:
MacOSX 10.6.3 Snow Leopard MacBookPro
FlashCS4
Safari 4.0.5
Firefox 3.6
IE6/7/8
Re: 指定時間が経過でアクション
・1フレーム目
 計測開始 getTimer()とかで
・2フレーム目
 getTimer()して1フレーム目のgetTimer()との差(経過時間)を判定
 指定時間になっていたら→4フレーム目へ移動
 指定時間になってなかったら→なにもしないで次フレームへ
・3フレーム目
 2フレーム目へ戻る
・4フレーム目
 何か実行

こういう感じだと思います。
同じことをenterframeのイベントメッソドを使うとちょっとスマートにまとまります。
ただ、このやり方だと
あくまでフレームという単位での処理なので、正確な判別は理論上できてません。
といっても誤差1、2フレーム?分くらいなので、フレームレート30fpsだとしたら0.03秒とかその程度です。

anais
Åê¹ÆNo.19731
投稿日時: 2005-8-26 21:30
新米
居住地:
投稿: 11
使用環境:
Windows XP Home
FLASH MX 2004 Pro
Re: 指定時間が経過でアクション
すみません。
僕が作ってるFLASHはフレームを使用しないFLASHなんです。
JavaScriptで言う

setTimeout=("",);

こんな感じのアクションスクリプトってありませんか?
野中文雄
Åê¹ÆNo.19732
投稿日時: 2005-8-26 21:31
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 指定時間が経過でアクション
一般的には、getTimer()関数で、計測開始時刻を取得し、経過時間を計算します。時間の監視は、onClipEvent (enterFrame)もしくはMovieClip.onEnterFrameハンドラで処理することが可能です。ハンドラ内で、指定時間が経過したかどうかをifステートメントで判定し、目的の処理を行います。

参考:「時間経過によるアクション
ぱらぱらマンガを作るには?
引用:
anaisさんは書きました:
アクションスクリプトで指定時間が経過すると
何か実行するようにしたいんですけど、
どうすればいいのでしょうか?

もし、もっと具体的な回答を希望される場合には、ご質問を一般的・抽象的にでなく、具体的な内容でご投稿ください。


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

野中文雄
Åê¹ÆNo.19733
投稿日時: 2005-8-26 21:37
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 指定時間が経過でアクション
MovieClip.onEnterFrameイベントハンドラメソッドなら、複数フレームを使用せずにスクリプティングが可能なはずです。
引用:
まなぶさんは書きました:
同じことをenterframeのイベントメッソドを使うとちょっとスマートにまとまります。
引用:
anaisさんは書きました:
僕が作ってるFLASHはフレームを使用しないFLASHなんです。

setInterval()関数があります。けれど、使用方法には少し癖がありますので、個人的には上記イベントハンドラメソッドを使われることをお勧めします。
引用:
JavaScriptで言う

setTimeout=("",);

こんな感じのアクションスクリプトってありませんか?


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

anais
Åê¹ÆNo.19741
投稿日時: 2005-8-27 1:27
新米
居住地:
投稿: 11
使用環境:
Windows XP Home
FLASH MX 2004 Pro
Re: 指定時間が経過でアクション
野中さんが参照してくれたページを見て以下のように作ってみましたが、
結局だめでした。何か間違えてますか?
ちなみに下のアクションスクリプトは適当なフレームに埋め込みました

myTime = new Date();
myGet = myTime.getTime();
if (myTime.getTime() - myGet >1*1000) {
_root.nextX = 120;
_root.nextY = -10;
}

わかりにくいでしょうが、よろしくお願いします。
まなぶ
Åê¹ÆNo.19742
投稿日時: 2005-8-27 2:08
新米
居住地: 東京都杉並区
投稿: 13
使用環境:
MacOSX 10.6.3 Snow Leopard MacBookPro
FlashCS4
Safari 4.0.5
Firefox 3.6
IE6/7/8
Re: 指定時間が経過でアクション
引用:
ちなみに下のアクションスクリプトは適当なフレームに埋め込みました

フレームに記述したのはこれだけですか?
ある1つのフレームアクションに記述しただけだと、1回しか実行されませんよね。

必ず複数回実行して経過時間を監視する必要があるのですが、
それは、野中さんからもありました、
引用:
MovieClip.onEnterFrameイベントハンドラメソッドなら、複数フレームを使用せずにスクリプティングが可能なはずです。

これを使ってください。
anais
Åê¹ÆNo.19749
投稿日時: 2005-8-27 11:36
新米
居住地:
投稿: 11
使用環境:
Windows XP Home
FLASH MX 2004 Pro
Re: 指定時間が経過でアクション
ごめんなさい。
初心者なので「MovieClip.onEnterFrameイベントハンドラメソッド」
をどのように使えばいいのかわかりません。
できれば上のイベントハンドラ(?)を実際に使用した
アクションスクリプトの例を書いていただけませんか

よろしくお願いします
rin-ko
Åê¹ÆNo.19758
投稿日時: 2005-8-27 18:41
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: 指定時間が経過でアクション
こんにちは。
ヘルプでMovieClip.onEnterFrameを調べれば、シンタックスが載っていますよね。
それだけですとちょっとわかりづらいかもしれませんけれど、一応そのシンタックスにそって「こんなふうに使うのではないのか?」と試してみるとどうなりますか?
初心者さんでも、ちょっとずつ調べたり試していけば、難しいことではないですよ。
ひろゆき
Åê¹ÆNo.19759
投稿日時: 2005-8-27 18:51
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 指定時間が経過でアクション
フレームが再生されるたびに実行する必要のない処理
this.onEnterFrame = function() {
	フレームが再生されるたびに実行したい処理
	if (指定時間の条件) {
		指定時間が経過で実行したい処理
		delete this.onEnterFrame;
	}
}
ですね。


----------------
質問する際は、回答者に具体的な情報を与えてください。

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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