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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     dragtargetとswapDepths
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
森 巧尚
Åê¹ÆNo.2131
投稿日時: 2003-12-13 13:11
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
引用:
森さん<Flashおもちゃ箱ってなんですか?

このFLASH-japanのフォーラムの「16.FLASHおもちゃ箱【ゲームについてあれこれ】」のことです。

引用:
森さんが作ってる3DゲームはPlasmaで作ってるんですか?

こんな質問こそ、「16.FLASHおもちゃ箱【ゲームについてあれこれ】」へ投げてくださ?い。
「4.立体工作室【スクリプト系以外の3D】」でもいいですけど。


----------------
森 巧尚
http://www.ymori.com

野中文雄
Åê¹ÆNo.2130
投稿日時: 2003-12-13 12:54
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
なぜか、投稿の後半が消えてしまいました。

時間でしたら、Dateオブジェクトから直接取出すことも可能です。桁揃えの関数は過去ログより。
引用:
SUZUDENさんは書きました:
flashで経過時間を出す場合、他にもいいやり方はありますでしょうか?

// フレームアクション
// TextFieldインスタンスmy_txtを配置
start_date = new Date();
this.onEnterFrame = function() {
    nDuration = new Date()-start_date;
    passed_date = new Date(nDuration);
    time_str = passed_date.getUTCHours()+":";
    time_str += xSetDigits(passed_date.getUTCMinutes(), 2)+":";
    time_str += xSetDigits(passed_date.getUTCSeconds(), 2)+":";
    time_str += xSetDigits(passed_date.getUTCMilliseconds()/10, 2);
    my_txt.text = time_str;
};
function xSetDigits(n, nExp) {
    if (isNaN(n) || nExp<=0) {
        return n.toString();
    }
    n = Math.floor(n);
    return (n+Math.pow(10, nExp)).toString().substr(-nExp);
}


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

野中文雄
Åê¹ÆNo.2129
投稿日時: 2003-12-13 12:52
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
「うまくいきません」は、NGワードです。
引用:

SUZUDENさんは書きました:
すみません。同じファイルの中に時間も表示しているのですが、
上手く動きません。

時間の経過が、フレームレートに比例して早まってしまうということですね。桁上がりの処理に問題があるのでしょう。

素直に経過ミリ秒を、時間に換算すればよいと思います。
引用:
フレームレートを1にすると上手く動きます。
実際は30にしています。

onClipEvent (load) { 
startTime = getTimer(); 
hour = 0;minu = 0;sec = 0;sec2 = 0; 
time = "00:00:00:00"; 
} 
onClipEvent (enterFrame) {
	nowTime = getTimer();
	totalTime = nowTime-startTime;
	msec = Math.floor(totalTime%1000/10);
	totalTime = Math.floor(totalTime/1000);
	sec = totalTime%60;
	totalTime = Math.floor(totalTime/60);
	minu = totalTime%60;
	hour = Math.floor(totalTime/60);
	if (String(msec).length == 1) {
		msec = "0"+msec;
	}
	if (String(sec).length == 1) {
		sec = "0"+sec;
	}
	if (String(minu).length == 1) {
		minu = "0"+minu;
	}
	time = hour+":"+minu+":"+sec+":"+msec;
	_root.lapTime = time;
}


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

DEN
Åê¹ÆNo.2108
投稿日時: 2003-12-12 16:54
常連
居住地: 千葉県佐倉市
投稿: 84
使用環境:
Mac OS9.2,10.3
WinXP
FlashMX,Flash8
Player7,Player9
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
すみません。同じファイルの中に時間も表示しているのですが、
上手く動きません。

フレームレートを1にすると上手く動きます。
実際は30にしています。

onClipEvent (load) {
startTime = getTimer();
hour = 0;minu = 0;sec = 0;sec2 = 0;
time = "00:00:00:00";
}
onClipEvent (enterFrame) {
nowTime = getTimer();
totalTime = nowTime-startTime;
ttt = Math.round(totaltime);
tLeng = String(ttt).length;
msec = String(ttt).substr(tLeng-2, 2);
if (Number(msec)>=0) {sec++;}
if (sec>=60) {minu++;sec = 0;}
if (minu>=60) {hour++;minu = 0;}
if (String(sec).length == 1) {sec = "0"+sec;}
if (String(minu).length == 1) {minu = "0"+minu;}
time = hour+":"+minu+":"+sec+":"+msec;
_root.lapTime = time;
}

flashで経過時間を出す場合、他にもいいやり方はありますでしょうか?

よろしくお願いいたします


----------------
DEN

DEN
Åê¹ÆNo.2104
投稿日時: 2003-12-12 15:03
常連
居住地: 千葉県佐倉市
投稿: 84
使用環境:
Mac OS9.2,10.3
WinXP
FlashMX,Flash8
Player7,Player9
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
i = 50;
years50 = "my value";
asd = eval("years"+i); // 出力: my value
trace(asd);

asdd="years"+i;
trace(asdd); //years50

検証しました。
上は参照してデータを拾うが、
下はそのまま反映しているということでした。

ありがとうございます。
FlashMX2004でactionscript2.0になって変わったんですね。
気を付けます。

Keitaさん<記入ミスでした。ありがとうございます。

森さん<Flashおもちゃ箱ってなんですか?
今回のは会社のなんでむりそうです。
森さんが作ってる3DゲームはPlasmaで作ってるんですか?


----------------
DEN

ゲスト
Åê¹ÆNo.2103
投稿日時: 2003-12-12 14:47
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
細かいことですが、

 year=aaaa;
 i=50
 asd=eval("years"+i);
 asdd=years+i;
 asddd="years"+i;
 trace(asd);
 trace(asdd);
 trace(asddd);

ここでyearとyearsが両方使われてますが、

 year=aaaa;
 i=50
 asd=eval("year"+i);
 asdd=year+i;
 asddd="year"+i;
 trace(asd);
 trace(asdd);
 trace(asddd);

の間違いではないですか?
この間違いが混乱の原因のような気もするのですが、
フォーラムへの単なる転記ミスでしたらすいません。
野中文雄
Åê¹ÆNo.2102
投稿日時: 2003-12-12 14:46
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
MX 2004では、結果が変わりますので、注意が必要です。
引用:
SUZUDENさんは書きました:
// year=aaaa;
years=aaaa;
i=50
asd=eval("years"+i);
asdd=years+i;
asddd="years"+i;
trace(asd);  // 出力:undefined
trace(asdd);  // 出力: NaN
trace(asddd);  // 出力: years50

asdは何も表示されず、
asddは50と返します。
asddはyear50と返します。

eval()関数は、その名前の変数やインスタンスを探して、その値を「参照」します。
i = 50;
years50 = "my value";
asd = eval("years"+i);  // 出力: my value

eval()を使わない」というのは、配列演算子[]を使うという意味かと思いました。
引用:
配列アクセス演算子のは初めて知りました。
こんな事もできるんですね。


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

DEN
Åê¹ÆNo.2101
投稿日時: 2003-12-12 13:22
常連
居住地: 千葉県佐倉市
投稿: 84
使用環境:
Mac OS9.2,10.3
WinXP
FlashMX,Flash8
Player7,Player9
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
すごい初歩的な事だと思うのですが、

year=aaaa;
i=50
asd=eval("years"+i);
asdd=years+i;
asddd="years"+i;
trace(asd);
trace(asdd);
trace(asddd);

asdは何も表示されず、
asddは50と返します。
asddはyear50と返します。

配列アクセス演算子のは初めて知りました。
こんな事もできるんですね。

_root.○○○+iとするときはeval()で、
ダイナミックテキストなどに送るときに
表示するときなどに
(aaaはテキストボックス)
aaa="○○○"+i;
で反映しますが、
こういうことでしょうか?

初歩ですね。すみません。苦笑


----------------
DEN

野中文雄
Åê¹ÆNo.2100
投稿日時: 2003-12-12 12:39
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
eval()関数は、ストリングを一気に「参照」に変換します。
ref = eval("_root.my1_mc.my2_mc");
trace(ref);  // 出力: _root.my1_mc.my2_mc

配列アクセス演算子[]の場合には、必ずターゲットを必要とし、パスをひとつひとつ解決します。
i = 1;
ref = _root["my"+i+"_mc"]["my"+(++i)+"_mc"];
trace(ref);  // 出力: _root.my1_mc.my2_mc

引用:
SUZUDENさんは書きました:
eval()を使わないで連結するときと、無くても連結できる
ものがあるのですがどう使い分けるのかよく理解していません。


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

DEN
Åê¹ÆNo.2099
投稿日時: 2003-12-12 12:27
常連
居住地: 千葉県佐倉市
投稿: 84
使用環境:
Mac OS9.2,10.3
WinXP
FlashMX,Flash8
Player7,Player9
Re: _droptargetとswapDepths (was: dragtargetとswapDepths)
どうもありがとうございます。
できました。
eval()を使わないで連結するときと、無くても連結できる
ものがあるのですがどう使い分けるのかよく理解していません。
教えていただけますでしょうか?

あと時間が合っていないみたいです。
フレームレートを上げたり下げたりすると
変化してるのかな?謎

functionとforを覚えるとかなり作業効率があがりますね。


----------------
DEN

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

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