ActionScript 誰かが物凄い勢いで解答するスレ 12 if (Key.isDown(Key.LEFT) || Key.isDown(100) || Key.isDown(72)) { // 左移動 }
953 :
948 :2006/06/25(日) 16:55:05 ID:pFk08P5v
950さん>ありがとうございます。できました。Flash8でないと、 この関数は使えないようですね。あともうひとつ実現したいことが あるんですが、それは改行処理なんですが、可能でしょうか? \nと記述していけるとおもったんですが、無理でした。 何かよい方法があればお教えください。
flash8Basicを使っています。 .mov形式の普通のムービーがありまして、 内容はコップが横に倒れるようなものだとします。 これをどうにかflash上に読み込み、 コップの上辺りに矢印かなんかを表示させて、 それをマウスでドラッグするとそれにあわせてコップが倒れるようにしたいです。 かつ、逆方向にドラッグしたら元に戻るように。 要するにマウスのドラッグにあわせて ムービーの再生・逆再生を制御したいということなのですが、 どう書いたらよいでしょうか? ちょっとドラッグしたらムービーの端まで一気に進んでしまうのではなくて、 出来ればマウスの移動量にあわせてコマ単位で制御したいです。 (半分あたりで行ったり戻ったり「行き来」ができる感じに) ムービーで無理だとしたら、連番の静止画を用意することも出来ますので それでもいいです。ASでどうやって書いたらよいか教えてください。 よろしくお願いします。
>>952 ああいや、これはソース見やすくするために分離してるだけで
leftKeyがどっかで変更されてるとかはないんですが。
if (Key.isDown(Key.LEFT) || Key.isDown(100) || Key.isDown(72)) { leftKey = true; } else { leftKey = false; }
957 :
Now_loading...774KB :2006/06/25(日) 19:46:45 ID:vCww1Inu
>>953 外部テキストで\nしてるなら、
読み込み時点で\\nに変換されてるので、
str.split("\\n").join("\n")しないとダメ。
HTMLテキストの話なら単に<br>にしないとダメ。
>>956 leftKey = Key.isDown(Key.LEFT) || Key.isDown(100) || Key.isDown(72);
>>954 メディアコンポーネントを使えばASいらないよ。
あとmovファイルよりもflvファイルをオススメする。
理由は自分で調べてみるといい。
960 :
954 :2006/06/25(日) 22:30:44 ID:mbYf47aC
>>959 レスありがとうございます。
そのメディアコンポーネントという奴を調べてみたんですが、
どうもflashのBasicでは使えないみたいです。
なのでどうにか他の方法は無いでしょうか・・・
ごめんよ、professionalのみだと知らんかった
962 :
Now_loading...774KB :2006/06/26(月) 00:33:24 ID:CFT/qwfI
>>954 ムービーの形式はどうであれ、マウスの移動量に対して、フレームを進めるのであれば
こう考えてみては。
theMovie.gotoAndStop(theMovie._totalframes * マウス座標の割合);
マウス座標の割合は0〜1の間で変化します。
例えば、x座標系でのドラッグを行うのであれば
現在のx座標 / 移動できる最大のx座標
で割合を出せます。(左端が0の場合)
963 :
951 :2006/06/26(月) 15:46:34 ID:hMsFNHT4
結局手がかりなしか。on_ なんなんだろうこれ。どっかローレベルで不具合があるとしか思えん。
>>963 おまいはレス全部試してからいってんだろうな?お礼も無しか。
>>951 100%あなたに原因があるとしか思えん。
>>963 今まで出たような単純なスクリプトだけ書いても同じ現象が起こるのか?
そうでないなら、ここに提示されてない部分に原因がある。
trace()でフラグの変化見るなどして、いつどうしてそうの現象が起こるのかを探ってみたか?
ホラーじゃないんだから、作り方か仕様でそうなるように作られてるだけだろ。
困った時はこれを使おう callESP();
callESPって何?
エスパー来て〜と思われ。
970 :
Now_loading...774KB :2006/06/27(火) 03:28:16 ID:3eDOSleX
tellTarget("/967"){ _visible=false; } ってなあに?
967._visible=false; と同じ。
秒から時分秒にわけるにはどうしたらいいんでしょうか。 とりあえず分と秒にする方法は考えてみたんですが、 hun = byotime/60; syosuPoint = Number(String(hun).indexOf(".", 0)); byo = Number("0"+String(hun).substr(syosuPoint, 5)); playtimeTxt.text = Math.floor(hun)+" : "+Math.floor(byo*60); もっといい方法はないでしょうか。
sec = time%60; min = Math.floor(time/60); /* hour = Math.floor(min/24); min = min%24; */ とかこの辺では
>>972 24時間限定。0フォーマットは適当にしる。
var t_seconds = 3670;
var aa:Date = new Date(t_seconds*1000);
trace(t_seconds+"秒は"+aa.getUTCHours()+":"+aa.getUTCMinutes()+":"+aa.getUTCSeconds());
976 :
951 :2006/06/28(水) 00:58:52 ID:j3nRiz0U
>>966 >trace()でフラグの変化見るなどして、いつどうしてそうの現象が起こるのかを探ってみたか?
だから再現性がないんですよ。本当にまれにしか起きない。
でもトラブルのメールが1通来たので(何百通も来る中での1通)、
どうも偶然ではないらしいと。
Flashだけでなく、DirectXアプリケーションなんかでも何回か同じ現象を見たので、
やっぱりWindowsのキー周りか何かでおかしなことが起こってると思うんですが。
Flashの質問じゃなかったかも知れないけど、こんなことどこで訊いたらいいかわからないし。
とりあえずこの現象に心当たりのある方がいないのは分かりました。
ホラーじゃないっていうけど完全にホラーです。
>>976 全体のスクリプトがわからないとなんともいえない。
他のところは関係ないと思っててもそこに原因があったりする。
978 :
Now_loading...774KB :2006/06/28(水) 01:17:30 ID:cQcCKVzF
よろしくお願いします。 いま、フレームアクションに以下を記述しています。 // _root.abc.loadMovie("aaa.swf"); _root.abc.loadMovie("bbb.swf"); _root.abc.loadMovie("ccc.swf"); timer_ID = setInterval( function(){ _root.gotoAndPlay(2);} , 2000 ); // この記述だと、aaa.swf,bbb.swf,ccc.swfの読み込みが終了するか、 しないか、わからないまま、20秒たつと、フレーム2に進んでしまう という処理になります。これを、すべてswfファイルの読み込みが終了した 時から、20sたつと、フレーム2に進むという処理のフローにしたいのですが、 可能でしょうか? よろしくお願いします。
>>976 最初の書き込みでは、951の環境でも再現されたみたいに読めたけど
実はそうじゃないのか?
それとも、951とそのメールの相手、二件だけ確認されたってことか?
確かに、全体がわからんとこれ以上何とも言えないが。
>>978 Loaderコンポーネントを使うか MovieClipLoaderクラスを使うなりして
bytesLoaded と bytesTotalを取得して読み込みできたか確認すればいいと思うよ。
キーリスナーを多重登録してるとかでないの? Windowsキーとか危ないボタンもあるし 自分の所で再現しなければ、よっぽどじゃなければ知らぬ存ぜぬだな。
>>976 少なくとも必要のない変数を使うこと自体がおかしい。
わざわざ、他から破壊される要素を持ち込んでる。
983 :
978 :2006/06/28(水) 07:34:47 ID:cQcCKVzF
980>ありがとうございます。 なにぶん、Flash初心者なもので、申し訳ありませんが、 書き方のヒントをお教え頂けないでしょうか?
>>983 アクションウィンドウにMovieClipLoaderと書いて、
書いたMovieClipLoaderを選択し、
ウィンドウの?ボタンを押すとヘルプが出てくる。
例も載ってるよ。
//_rootにabc、abc内にaaa,bbb,cccを配置しておく。 var timeOut:Number = 2000; var count:Number = 0; var timer_ID:Number; var myLoader:MovieClipLoader = new MovieClipLoader(); myLoader.addListener(this); myLoader.loadClip("aaa.swf", _root.abc.aaa); myLoader.loadClip("bbb.swf", _root.abc.bbb); myLoader.loadClip("ccc.swf", _root.abc.ccc); //読み込みがひとつ終わるたびに実行される function onLoadInit(target_mc:MovieClip) { count++; if( count >=3 ) { timer_ID = setInterval( function(){ _root.gotoAndPlay(2); clearInterval(ID); } , timeOut) ; } }
変数aがあるとして、 ある画像Aを表示した時aを10増やして、 また別の画像Bを表示した時はaが5増えるようにするアクションスクリプトを教えていただけませんか? (つまり、画像Aと画像Bを両方表示したら、変数aの値が15になるようにしたい)
>>987 画像AとBはどこにあってどうやって表示させてるん?
それによって答えは違うよ。
>>988 paraflaを使っているので、言い方が良く分かりませんが、
普通に画像を表示させているだけで、特に変わったことはしてません。
>>989 paraflaは使ったことが無いけど、フレームに画像が置いてあるってこと?
var a = 0;
//画像Aを表示させたとき(Aのフレームにきたとき)
a+=10
//画像Bを表示させたとき(Bのフレームにきたとき)
a+=5;
変数の値を15にするのはいいとして、それを何に使いたいん? やりたいことと違うって言われても困るから。
>>991 結論から言うと、音ゲーみたいなのを作ってて、
それの『スコア』を表示をしようと思ってるんです…。
てことは、ダイナミックテキストを配置して変数をaに指定、 最初のフレームで var a = 0; Aが表示されるフレームで a +=10; Bが表示されるフレームで a += 5; とすればいいんだろうけど、 指定されたフレームに到達したときにしか動作しないならゲームとはいえないけど
画像AとBをそれぞれ子スプライトにして 親スプライトの1フレーム目に var a = 0; 画像Aの1フレーム目に onClipEvent(load){_root.a += 10} 画像Bの1フレーム目に onClipEvent(load){_root.a += 5} とするとAとBを表示するたびにaに加算されるはず。 paraflaの仕様がわからなくてちょっとだけ調べてしまった。
995 :
Now_loading...774KB :2006/06/29(木) 16:37:01 ID:VciUe71p
外部のflvファイルをnetStreamでmovieclipに割り当てて再生しているのですが 再生されるムービーに対してアンチエイリアスがかかりません。 ムービークリップも_rootも_quality = "best";にしたのですがダメでした。 どうすればアンチエイリアスがかかるんでしょうか?
996 :
Now_loading...774KB :2006/06/29(木) 16:38:31 ID:zhLKiNve
誰か次スレよろ
997 :
Now_loading...774KB :2006/06/29(木) 16:45:53 ID:7tIBZnzd
XPでfashMXです。 getURLで、外部テキスト(**.txt)に書かれてあるURLをリンク先に設定することはできますか?
できる
1000 :
Now_loading...774KB :2006/06/29(木) 20:47:57 ID:yHa4zmYO
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。