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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     30分毎に変わるオンクリップイベント
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
graudi
Åê¹ÆNo.33958
投稿日時: 2007-7-2 17:43
新米
居住地: 山口智子の出身地栃木市
投稿: 12
使用環境:
MacOS10.4.9
Flash2004
30分毎に変わるオンクリップイベント
モーションクリップに以下のアクションを設定して、
現在、1時間毎にロードされる画像を変えることに成功しています。
(このスクリプトは、解説サイトのものをそのまま利用したものです)
これを30分毎にするにはどうすればよいでしょうか?
本を読んだりして自分なりにいろいろやりましたが、
うまくいきません…。よろしくご指導お願いします。

onClipEvent(load){
myDate = new Date();
myHour = myDate.getHours()
if(myHour<9){
this.gotoAndStop(1);
}else if(myHour <10){
this.gotoAndStop(2);
}else if (myHour < 11){
this.gotoAndStop(3);
}else if (myHour < 12){
this.gotoAndStop(4);
}else if (myHour < 13){
this.gotoAndStop(5);

(以下省略)
ここのトップ画像がそうです


----------------
:Flash MX 2004: Graudi

野中文雄
Åê¹ÆNo.33961
投稿日時: 2007-7-2 18:33
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 30分毎に変わるオンクリップイベント
何をどう試され、どこまで理解し、何がおわかりにならないのでしょう?→【いろいろ探しましたが見つかりませんでした】【うまくいきません
引用:
graudiさんは書きました:
これを30分毎にするにはどうすればよいでしょうか?
本を読んだりして自分なりにいろいろやりましたが、
うまくいきません…。よろしくご指導お願いします。

[1]現在、何時何分かを調べることは、おできになりますか?
[2]たとえば、9時は午前0時から数えて何分経過したか、計算できますか?
[3]同様に、9時30分は午前0時から数えて何分経過していますか?
[4]以上の結論をもとに、スクリプトを修正するとどうなりますか?


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

graudi
Åê¹ÆNo.33971
投稿日時: 2007-7-3 10:03
新米
居住地: 山口智子の出身地栃木市
投稿: 12
使用環境:
MacOS10.4.9
Flash2004
Re: 30分毎に変わるオンクリップイベント
野中様お答えありがとうございます。
まず[1]の何時何分かは、
onClipEvent(load){
myDate = new Date();
myHour = myDate.getHours()
myMinutes = myDate.getMinutes()
で調べられます。
[2]が解りません。
myTime = myHour*60 + myMinutes()
こんな感じで、分に換算すればよいのですか。
何時何分を分に換算する方法と条件設定の方法が解りません。

多分、この返答では、イライラすると思いますが、この程度なんです。


----------------
:Flash MX 2004: Graudi

野中文雄
Åê¹ÆNo.33973
投稿日時: 2007-7-3 12:21
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 30分毎に変わるオンクリップイベント
以下の時刻は、午前0時から数えて何分経過していますか?
[2-1] 0時
[2-2] 1時
[2-3] 2時
[2-4] 9時
[3-1] 0時30分
[3-2] 1時30分
[3-3] 2時30分
[3-4] 9時30分
[3-5] n時m分

それでも理解できない場合には、0時から24時まで、30分刻みですべての時刻について、経過分数を計算しましょう(すべてを手計算しても、40問程度ですので大して時間はかからないはずです)。

そのうえで、お書きになったステートメントの計算結果と照らし合わせてください。
引用:
graudiさんは書きました:
[2]が解りません。
myTime = myHour*60 + myMinutes()
こんな感じで、分に換算すればよいのですか。
何時何分を分に換算する方法と条件設定の方法が解りません。


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

graudi
Åê¹ÆNo.33975
投稿日時: 2007-7-3 15:51
新米
居住地: 山口智子の出身地栃木市
投稿: 12
使用環境:
MacOS10.4.9
Flash2004
Re: 30分毎に変わるオンクリップイベント
これで出来ました。ありがとうございました。

onClipEvent(load){
myDate = new Date();
n = myDate.getHours()
m = myDate.getMinutes()
if(n*60+m<0){
this.gotoAndStop(1);
}else if(n*60+m<900){
this.gotoAndStop(2);
}else if (n*60+m<930){
this.gotoAndStop(3);
}else if (n*60+m<960){
this.gotoAndStop(2);
}else if (n*60+m<990){
this.gotoAndStop(5);


----------------
:Flash MX 2004: Graudi

野中文雄
Åê¹ÆNo.33986
投稿日時: 2007-7-4 10:04
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 30分毎に変わるオンクリップイベント
if条件の左辺の計算は、結構だと思います。変数n、mを使った経過分数の計算は、毎回(else if条件で)し直すより、別の変数に取得しておく方が効率は多少よくなります。

ただ、条件式の右辺値が、少し気になります。n、mはマイナスになることはありません。また、15時からのスタートでよいのでしょうか?
引用:
graudiさんは書きました:
これで出来ました。ありがとうございました。
onClipEvent (load) {
	myDate = new Date();
	n = myDate.getHours();
	m = myDate.getMinutes();
	nNow = n*60+m;
	// if (n*60+m<0) {
	if (nNow<0) {  // マイナスになることはない
		this.gotoAndStop(1);
	// } else if (n*60+m<900) {
	} else if (nNow<900) {  // 15:00前
	// ...[中略]...
	}
}


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

graudi
Åê¹ÆNo.33999
投稿日時: 2007-7-4 16:42
新米
居住地: 山口智子の出身地栃木市
投稿: 12
使用環境:
MacOS10.4.9
Flash2004
Re: 30分毎に変わるオンクリップイベント
野中さん本当にありがとうございます。
>別の変数に取得しておく方が…。
なるほど。そこら辺が上級者との差ですね。
>n,mはマイナスになることは…。
修正します。

15時からのスタートなのは、
サンプルスクリプトを書いた時間が15:00頃だったからです。


----------------
:Flash MX 2004: Graudi

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

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