1 名前:Now_loading...774KB [2007/08/18(土) 08:48:49 ID:g0sVH2IC] AcitonScriptのことなら 初歩的な質問でもなんでもおk 見れない、保存したい、flashを作りたいはスレ違い 下記の関連スレ、超基本的な質問へ。 ●質問する時は自分の環境を書く 書いてない場合WinXP,FlashMX2004(AS2.0以降)を前提で ●質問はものすごい勢いじゃなくて結構 ●できるだけコードも示す ●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く 直前スレ ActionScript 誰かが物凄い勢いで解答するスレ 16 pc11.2ch.net/test/read.cgi/swf/1178021352/l50 関連スレ Flashの超基本的な質問はここでしろ! part35 pc11.2ch.net/test/read.cgi/swf/1184667056/l50 Flash製作初心者の質問スレッド レイヤー36 pc11.2ch.net/test/read.cgi/swf/1173006099/l50 サイト、参考書籍、関連情報は>>2-10 あたり
101 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 18:59:13 ID:VDOPw4zH] 改行が多くてERRORになるので分割しつれいします。 statは現在の状態を示す変数で、0のときは何もしていないかドラッグ中、 1の時は惰性で飛んでいる状態を示しています。
102 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 19:06:29 ID:V6E00enf] 一定間隔でマウスボタンが押されているかどうかを判定すればいいんじゃね?
103 名前:99 mailto:sage [2007/08/26(日) 20:04:06 ID:VDOPw4zH] >>102 なるほど。。。 マウスに追随する透明のMCをつくってそれがhitしてるか enterFrameで判定してやってみます。
104 名前:99 mailto:sage [2007/08/26(日) 20:28:56 ID:VDOPw4zH] むー。うまくいきません。 領域外に出たとき「マウスが押されていない」というのをどう判定すればいいものか。。。
105 名前:99 mailto:sage [2007/08/26(日) 20:59:14 ID:VDOPw4zH] ttp://www.mother.co.jp/04_recruiting/diary/ このサイトなんですが、なんでブラウザ枠からカーソルが出ているのに ドラッグが継続されるんでしょうか? startDragでMCをドラッグした場合、ブラウザからはみ出たらMCが固まっちゃいますよね? そもそもstartDragを使わない方法なんでしょうか・・・
106 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 21:03:54 ID:1nX11mtB] >>98 printf()系に渡すんなら意味があるんじゃないか? C言語ならva_listを使うんだけど。AS3でどうやるかは知らん、すまん。
107 名前:Now_loading...774KB mailto:sage [2007/08/26(日) 21:17:30 ID:YaiKwi7D] >>99 話もどしてしまうけど。。。 >releaseのほかにonDragOutも付けると releaseOutsideは試した?どちらかというとこっちじゃないか?
108 名前:99 mailto:sage [2007/08/27(月) 00:01:42 ID:/tJVCQPd] >>107 releaseOutsideなんてあったんですね・・・ 超基本的なことでしたね。解決しました!ありがとうございます!
109 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 19:52:03 ID:+KoBV6ub] AS3.0について質問です class A { public staic function test1(){ trace("test1"); } } class B extends A{ static function test2(){ trace("test2"); } } こんな感じにAを継承したBというクラスがあります このtest1とtest2を実行した所 test2は問題ないのですがtest1に関して以下のようなエラーが出ます。 未定義である可能性のあるメソッド test1 を、静的型 Class の参照を使用して呼び出しました。 エラー内容がいまいちピン来ず、ヘルプを呼んでも直せませんでした。 間違いのある箇所を指摘していただきたいです。
110 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 19:52:53 ID:+KoBV6ub] 追記 実行方法は B.test1() B.test2()を実行しました。
111 名前:Now_loading...774KB [2007/08/27(月) 20:35:46 ID:/CIW+tvt] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) loadMovieで読み込んだ画像のサイズを取得するにはどうすれば良いでしょうか? ASとして以下をボタンアクションon (press) 内に書いています。 this.stageM.loadMovie(name1+".jpg");//MC:stageM(300*300)に読み込む trace("wide="+this.stageM[name1+".jpg"]._width); 目的JPGは200*200のサイズですが、これだと wide= undefined が返ってきます。
112 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 20:37:10 ID:pACmOEd0] classBに static function test1(){ A.test1() } がないとエラーになんじゃないかなそれは。
113 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 20:41:29 ID:pACmOEd0] >>111 moviecliploaderのonloadinitをヘルプで調べるんだ 読み込み開始後すぐにはそ見込み後のサイズは取得できないはず
114 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 21:03:03 ID:+KoBV6ub] >>112 継承してもBからはAの静的関数は実行できない仕様、と捉えて良いのでしょうか AS2.0と同じように扱えると思っていました、解答ありがとうございます。
115 名前:111 mailto:sage [2007/08/27(月) 21:13:41 ID:/CIW+tvt] >>113 早速のレス有り難うございます。ヘルプを読み、ましたが 「ロード対象クリップの先頭フレーム上のアクションが 実行されたときに呼び出されます。」 の意味が分かりません。別の表現だとどうなるのでしょうか?
116 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 21:21:13 ID:pACmOEd0] >>115 「完全に外部ムービーが読み込まれ、画面に表示され、幅や高さなどをスクリプトから取得できる 準備ができたら、このイベントハンドラに指定しておいた処理が実行されます。」ってこと。 つまり、このイベントが起きる前に幅や高さを取得しようとしても、まだ読込中なのでundefinedになるってこと。 イベントハンドラって何?ってのはがんばって勉強してくれ、としか言えない。
117 名前:111&115 mailto:sage [2007/08/27(月) 21:22:57 ID:/CIW+tvt] >>116 さんきゅうです。引き続き、やってみます。 とりあえず、画像は表示されます。
118 名前:111&115 mailto:sage [2007/08/27(月) 22:11:29 ID:/CIW+tvt] (連投すいません) MC:stageMのイベントハンドラとして this.onLoadInit = function() { trace("-OK-"); }; を書きました。JPGの読み込みが終了したら出る筈なのですが、 5秒位待っても -OK- が出ません。
119 名前:Now_loading...774KB mailto:sage [2007/08/27(月) 22:23:15 ID:AajI9Cl/] >>118 onLoadInitはMovieClipLoaderクラスのリスナーだから そのASでは何秒待っても-OK-はでません。 ヘルプでMovieClipLoaderを調べるんだ。そしたら例が載ってるから。
120 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 00:10:30 ID:LKGdZc2X] >>114 ttp://www.fumiononaka.com/TechNotes/Flash/FN0612002.html
121 名前:111&115 mailto:sage [2007/08/28(火) 01:16:14 ID:erJeZUhX] >>119 度々ありがとうございます。 ヘルプと本を見てrootのイベントハンドラとして下の様に書きました。 myJpg = new MovieClipLoader(); mcListner = new Object(); mcListner.onLoadInit = function(stageM) { trace("-OK-"); }; myJpg.addListener(mcListner); 相変わらず画像は出ますが、まだOKが出ません。 重ね重ね申し訳ありません。間違いをご指摘願います。
122 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 01:35:20 ID:hlBUaXHU] >>121 画像を読み込みたかったんじゃないの?そのASは何を読み込んでるの? ヘルプに載ってる例をまるまるコピーすればいいと思うんだけど。 あと試すときはローカルじゃなくてweb上でね。
123 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 01:38:13 ID:hlBUaXHU] >>121 あ、ごめん画像は出んだ。 web上で試すときはtrace()使えないからテキストフィールドとかに出力。
124 名前:111&115 mailto:sage [2007/08/28(火) 02:48:43 ID:erJeZUhX] >>122-123 一旦話をまとめたいと思います。 目標: MC(stageM)にロードしたJPGの大きさを取得したい(最初は横幅のみでOK) 流れ: this.stageM.loadMovie(name1+".jpg");//MC:stageM(300*300)に読み込む ※これは可能 ↓ MovieClipLoader.onLoadInitイベントリスナーを使って画像情報を取得したい rootのイベントハンドラとして: myJpg = new MovieClipLoader(); mcListner = new Object(); mcListner.onLoadInit = function(stageM) { trace("-OK-"); //動作確認でOKを出す }; myJpg.addListener(mcListner); ↓ しかし、このOKが出ない。 改めて、問題点のご指摘を願います。
125 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 03:08:18 ID:hlBUaXHU] >>124 myJpg.loadClipが無いんじゃない? 試すときはローカルじゃなくてweb上で。
126 名前:111&115&124 mailto:sage [2007/08/28(火) 04:01:21 ID:erJeZUhX] >>125 有り難うございます。幅が取得できました。 関連ASは以下の通りです。 myJpg = new MovieClipLoader(); mcListner = new Object(); mcListner.onLoadInit = function(stageM) { trace("-OK-"); trace("wide= "+stageM); // ok = "-OK-";//テキストフィールドokに出力 wide = stageM._width;//テキストフィールドwideに出力 }; myJpg.addListener(mcListner); on (press) { myJpg.loadClip(name1+".jpg", stageM);//MovieClipLoaderクラス用にloadClip() } Web上の動作を推奨されていますが、ローカルでも wide= 200 と、JPG の横幅が得られました。 重ねて御礼申し上げます。
127 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 14:24:19 ID:QxMZY+P1] よろしくお願いします。 winXP/FlashCS3/AS2.0です。 mainMCがクリックされた際、 mainMCの中にsubMCを複製したいです。 MCの中にMCを複製する事は可能ですか? mainMCに下記を記述してみましたがMCは複製されませんでした。 on (release) { _root.mainMC.duplicateMovieClip(_root.subMC,"subMC_d",dep); } ※depは複製されたMCの通し番号が入ります どのように記述すればMCの中にMCを複製できるのでしょうか。
128 名前:Now_loading...774KB mailto:sage [2007/08/28(火) 18:08:07 ID:Dv9/WtcH] >>127 _rootにsubMCがない MCにsubMCという名前がついていない(プロパティ) 生成するMCの名前が同じ 気になるのはこんなところ。
129 名前:Now_loading...774KB [2007/08/28(火) 23:10:41 ID:NsBwdnrq] FLVを再生時に、再生している途中で、 また頭から再生したいという場合は、どのような記述を すれば実現できるのでしょうか? 現在、ボタンに以下のようなスクリプトを記述しているんですが 反映されません。 ムービーの再生が終了すると反映されます。 宜しくお願いします。 ボタン// on (press) { my_FLVPlybk.play(); } //FLV再生命令(フレームアクション) import mx.video.*; my_FLVPlybk.autoPlay = false; my_FLVPlybk.contentPath = "test.flv"; var listenerObject:Object = new Object(); listenerObject.ready = function(eventObject:Object) { my_FLVPlybk.seekSeconds(0); my_FLVPlybk.play(); }; my_FLVPlybk.addEventListener("ready", listenerObject);
130 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 12:16:15 ID:UEebW6WD] AS初心者ですが質問させてください WinXP,FlashMX2004使ってます ゲームを作っていて、LANで繋がれたパソコン同士でハイスコアを表示させたいと思っています。 loadVariablesでテキストファイルから変数を読み込んで、(hscore=1000のように) それをhiscore=parseFloat(hscore); で変換するとhiscore=NaNになってしまいます。 変数のリストアップをするとhscore="1000"は読み込めています。 恐らく面倒なことをやっているような気がするのですが、 何かいい方法は無いでしょうか? お願いします。
131 名前:130 mailto:sage [2007/08/29(水) 12:19:35 ID:UEebW6WD] 連投すいません。訂正でパソコン同士ではなくてローカルサーバーに繋がっています
132 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 12:32:39 ID:si3eNAOb] >>130 Flash単体では書き出しが出来ないので、CGI(PHPとか)をLoadVarsで使って、 サーバーのテキストファイルに書き出し、読み込みをする。
133 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 13:07:53 ID:Vvfpu2qg] >>130 スコアが整数のみなら、 hiscore=Number(hscore); でもいいと思うけど。 ただ、parseFloat関数でも hscoreに"1000"が入ってれば数値に変換されるはずだから、 関数呼び出し位置に問題があるような気がする。 試しにテキストの内容に関わらず、parseFloat関数呼び出す直前で hscore="1234"; hiscore=parseFloat(hscore); とhscoreに直接文字列突っ込んだ後parseFloatするなりして、その結果を見てみたら?
134 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 18:59:09 ID:ryuPbw4d] 厨房みたいな質問で悪いんだが、ホンキで気になったので質問させてほしい ニコニコ動画のコメントのID割り出しツールがあるけど、あれって一体どういう仕組み・・・? コメントCSVやチャットサーバからのレスポンスに、実はIDも記述されてて、 それを取得するような改造版FLVPlayerを、標準Playerとすり替えてUIにしてるのかな? 予想で構わないので何かレスポンス希望
135 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 19:05:28 ID:2eY6RUaR] 超能力に米俵一票
136 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 19:45:13 ID:I2MUZift] >134 IDも送ってくんだよ。ツールに解説あるんじゃね?
137 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 20:15:57 ID:lfB2oEQ3] すいません、ひとつ質問させてください。 AS3.0で、Javaサーバーとソケット通信するFlashを作成していて、確立するためのポリシーファイルについて質問です。 function start_connect(address,port) { Security.loadPolicyFile("xmlsocket://" + address + ":" + port); socket.connect(address,port); } 上記の様なコードの時、loadPolicyFileでポリシーファイルを受け取る前に.connectメソッドが動いてしまいそうなのですが、大丈夫なのでしょうか? loadPolicyFileの戻り値も無いみたいですし・・・。
138 名前:130 mailto:sage [2007/08/29(水) 20:35:09 ID:UEebW6WD] >>132 >>133 レス遅れてしまいましたが答えて下さりありがとうございます! まず133の方法で試してみたのですがNumberでもだめでした。NaN 直前に hscore="1234"; を入れてみると1234になったのですが 同じ位置に試しにparseFloat入れてもダメでした… そこで132さんのCGIについて調べてみた所、それっぽい記述があったので CGI全く触ったことありませんが、ちょっとがんばってみます。 どこかにサンプルがあればそれを参考にしようと思います。 ありがとうございました
139 名前:Now_loading...774KB mailto:sage [2007/08/29(水) 22:06:31 ID:ryuPbw4d] >>137 ポリシーファイル系の処理はLoader系と違って完了するまで優先的に処理されるから大丈夫
140 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 00:00:23 ID:obah/Nnl] >>139 なるほど、安心しました。 どうもありがとう! ネット対戦ゲーム作ってる人って自分以外にこのスレでいますかな。
141 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 01:38:51 ID:F5vZDKIg] >>140 むしろ、ゲー製板があるがな。 pc11.2ch.net/gamedev/
142 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 01:45:37 ID:g1hvaqqN] >>141 その板のFLASH系もう過疎ってだめぽ
143 名前:Now_loading...774KB [2007/08/30(木) 13:22:29 ID:ljrzh0lg] FlashCS3 AS3 クラスから stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); とかするとstageがnullとかエラーが出てしまいます。 stageなしだとフォーカスが必要とのことですが、 "マウスクリックしてフォーカス"とかなしで キー入力対応させるにはどうしたらよいですか?
144 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 14:06:05 ID:fxDqXm13] 意味がよくわからんけど、stageプロパティ使いたいならそのクラスに DisplayObject含むクラス継承させときゃいいんじゃね?
145 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 14:07:55 ID:fxDqXm13] あと、ムービーにフォーカスが無い時のキーボードイベント拾う事は不可能。 それできたらパスワードの入力の時とかにキーのログ拾われるから禁止になった。
146 名前:Now_loading...774KB [2007/08/30(木) 14:35:40 ID:ljrzh0lg] >>144 レスありがとうございます。 public function Stopwatch(initTime:Number=3) { timetotal = initTime*60; outputText = new TextField(); outputText.text = timetotal; addChild(outputText); myTimer = new Timer(1000,timetotal); myTimer.addEventListener("timer", counter); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } public function keyCheck(event:KeyboardEvent) { trace(event.keyCode); myTimer.start(); } なにかキーを押したらTimerのカウント数を表示するだけのクラスなんですが、 stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); を addEventListener(KeyboardEvent.KEY_UP, keyCheck); とすればカウントが表示されるのですが、 テキストフィールドにフォーカスしないとキー入力を受け付けてくれませんでした。 調べたらstage.を書かないとフォーカスなしでは動かないとのことなので 書いたのですが今度はエラーが出てしまいました。 DisplayObjectを入れろとのことで、 import flash.display.DisplayObject; としたらエラーは出ないのですがテキストが表示されなくなりました。 stage.addChild(outputText);とかにしても同じでした。
147 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:06:42 ID:udV3bP6I] そもそもそのクラスは何を継承してるの?
148 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:32:11 ID:fxDqXm13] こんなで、 package { import flash.display.Sprite;import flash.utils.Timer;import flash.events.*; import flash.text.TextField; public class TimePanel extends Sprite { var myTimer:Timer,_t:TextField; public function TimePanel() { _t = new TextField();_t.text = "100";addChild(_t); myTimer= new Timer(1000); myTimer.addEventListener(flash.events.TimerEvent.TIMER , counter); setEvent(); } public function setEvent() { if (stage) { trace("画面に追加されてます"); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } else { trace("画面に追加されてません"); } } public function counter(e) { _t.text = String(Number(_t.text)-1); } public function keyCheck(e) { trace(e.keyCode);myTimer.start(); } } }
149 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:33:20 ID:fxDqXm13] うごかすにはこんなじゃね? var t=new TimePanel() addChild(t) t.setEvent() ようするに、stageまで辿りたいなら表示リストに乗っけないと駄目なんでない?
150 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 15:36:42 ID:fxDqXm13] あとは、FlashCS3だったらドキュメントクラスにしときゃ、stageで確実にStage拾えるんじゃね?
151 名前:Now_loading...774KB [2007/08/30(木) 16:09:44 ID:ljrzh0lg] >>148-150 これの追加でいけました!ありがとうございます。 stopwatch.setEvent(); public function setEvent() { if (stage) { trace("画面に追加されてます"); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } else { trace("画面に追加されてません"); } }
152 名前:Now_loading...774KB [2007/08/30(木) 16:19:13 ID:zj2bgIKw] FLASHでflvファイルを消音状態で表示したいと思い、ググッてみたらこの情報を見つけたのですが ttp://www.flash-jp.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=1195&forum=8 >MovieClip.attachAudio()メソッドを使って、音源のNetStreamインスタンスを、コントロール対象のMovieClipに接続する必要があります。 > // サウンドコントロールの対象にするMovieClipをmy_mcとした場合 > var my_sound:Sound = new Sound(my_mc); の辺りがよく分かりません、new Soundのカッコ指定用にストリーミングビデオをMCシンボルに変換が必要? と思い、ビデオをmy_mcにシンボル変換してみましたが、やはり音は消えませんでした 現状ではムービーは普通に再生されますが、消音できてない状態です 因みにrootの階層にストリーミング形式のmy_videoを配置しています どなたらアドバイスをお願いします・・・
153 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 16:19:16 ID:upfWoDgo] ずっとhtml+JSは書いていて、 最近フラッシュを始めました。 質問ですが、ASでは、 (function(){ trace("asdf") })() と書いても動かないものなのでしょうか? 環境は、Flash8Pro + MacOSX です。 よろしくお願いします。
154 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 16:50:12 ID:udV3bP6I] >>152 変換じゃなくて適当なMCが必要なだけだから空のMC作って指定してあげれば いいだけ。
155 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 16:58:02 ID:zj2bgIKw] >>154 消音されるようになりました!どうもありがとうございます!
156 名前:Now_loading...774KB mailto:sage [2007/08/30(木) 17:09:12 ID:fxDqXm13] >>153 8(AS2.0)だとそれは動かなかった気がする。 いまCS3(AS3.0)で試したら動いた。
157 名前:153 mailto:sage [2007/08/30(木) 17:44:40 ID:upfWoDgo] >>156 ありがとうございました。 うpでーたん買いに行ってきます! (((;;;:: ;: ;; ;; ;:;::)) ::) ( ::: (;; ∧_,∧ );:;;;)) )::: :; :)) ((:: :;; (´・ω・)っ;;;; ; :)) ((;;; (っ ,r どどどど ど・・・・・ i_ノ┘
158 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 00:27:00 ID:zmW3hsvO] こんばんは。CS3のAS3.0でFLASHを作成しています。 キーボードの操作を作成していてこう記述しました。 stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownEvent); function KeyDownEvent(event:KeyboardEvent) { trace(event.keyCode) } この処理でひとまずキーの押下を試していたのですが、 CTRL+ENTERでパブリッシュするとZキーが反応しません。 おそらく「90」が表示されると思うのですが・・・何故か無反応です。 他にもAキー等も利かず。 試しにキーコードをテキストに表示する処理を作り パブリッシュ後のswfファイルを開くとZキーも反応しました。 このイベントリスナーはCS3でパブリッシュ中に不具合でもあるのでしょうか。
159 名前:158 mailto:sage [2007/08/31(金) 00:44:58 ID:zmW3hsvO] すいません、Zキーを押すと拡大ツールになるみたいでした。 キーボードのショートカットをオフにしたら反応しました。 しかし、キー全部使うような場合はどうするんでしょう・・・全部オフにするのかな。
160 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 01:23:20 ID:3OIPOoFY] >159 糞仕様です。プレビューでショートカットの無効を試してください この回答で問題は解決しましたか?
161 名前:158 mailto:sage [2007/08/31(金) 07:59:21 ID:zmW3hsvO] >>160 回答ありがとうございます ツールのキーショートカットを全部削除したものを作りました。 その質問に「はい、解決しました」を選べた試しがないです(笑)
162 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 15:08:43 ID:bEb8PNaZ] ウィンドウズXPでFLASH8を使っています。 createTextFieldでテキストフィールドを作った後に、setTextFormatでテキストフォーマットを指定しています。 その後中のテキストを変えるとフォーマットが勝手に変更(デフォルトへ?)されてしまうのですが何か良い回避方法は無いでしょうか? 今はテキストが変更されるたびに同じテキストフォーマットをぶちこんでるのですが処理の重さの方が気になります こんな感じです _root.createTextField("test", 0, 0, 0, 300, 300) fmt = new TextFormat(); fmt.size = 24; test.setTextFormat(fmt); test.text = "1行目\n"; test.text += "2行目"; test.setTextFormat(fmt);//これが無いとテキストフォーマットが解除されてしまう 質問の仕方が下手で申し訳ない・・・
163 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 15:12:45 ID:xAIasgsE] setNewTextFormat
164 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 15:17:26 ID:bEb8PNaZ] 素早い回答ありがとうございます! 試してみましたがこれでかなり処理が軽くなりそうです
165 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 16:00:46 ID:hscyW3hW] CS3 AS3で作ってるんですが Timerで3分のカウントダウンタイマーを作ってるんですが OSの時計より5秒も遅れてしまいます。 これって普通なんでしょうか?
166 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 16:31:25 ID:hyV6m2mV] >>165 タイマー開始は、ボタンのon(press)/on(release)で動作? on(press)なら押した瞬間からだからね。 1分や10秒のタイマーも試した? マシンのパワーによっては動作(反応)が遅くなることがあるけど。
167 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 17:28:05 ID:Zygq0bfq] もしかして1秒たったら+1するイベントを実行していたりして。
168 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 17:39:16 ID:hscyW3hW] >>166 キーアップです。1分で2秒遅れ、10秒なら問題がないくらいです。 ただ、時計とどんどんずれていってしまいますのでイベントのタイミングはないようです。 マシンパワーはPenM1.73GHzなんですがどうなんでしょうか。 スクリプト public function Stopwatch(initTime:Number=3) { outputText = new TextField(); outputText.autoSize = TextFieldAutoSize.LEFT; timetotal = initTime*60; outputText.text = String(timetotal); addChild(outputText); myTimer = new Timer(1000,timetotal); myTimer.addEventListener("timer", counter); }
169 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 17:40:00 ID:hscyW3hW] public function setEvent() { if (stage) { trace("画面に追加されてます"); stage.addEventListener(KeyboardEvent.KEY_UP, keyCheck); } else { trace("画面に追加されてません"); } } public function keyCheck(event:KeyboardEvent) { if(event.keyCode == 32 && !keyFlg){ keyFlg = true; myTimer.start(); }else if(event.keyCode == 32 && keyFlg){ keyFlg = false; myTimer.stop(); } } public function counter(event:TimerEvent):void { outputText.text = String(timetotal - myTimer.currentCount); } です。
170 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 18:42:39 ID:xAIasgsE] >>168 currentCountはハンドラが呼ばれた回数だから、それを時間計算につかうのはどうかと。 秒以下なりの端数の丸めが生じるから、表示が秒単位ならずれは1秒のずれは出る。 timerをストップするタイミングとスタートするタイミングでもずれは生じるよね。
171 名前:Now_loading...774KB mailto:sage [2007/08/31(金) 18:49:54 ID:VwDRt4nd] ヘルプよりTimer オブジェクトについて --------------------------------------------------------------------- SWF ファイルのフレームレートまたは Flash Player の環境 (使用可能なメモリやその他の要素) に応じて、 Flash Player ではややオフセットの間隔でイベントを送出できます。 ~~~~ たとえば、SWF ファイルを 10 fps (1 秒あたりのフレーム数)、 つまり 100 ミリ秒間隔で実行するように設定し、 80 ミリ秒でイベントを発生するようにタイマーを設定すると、 Flash Player ではおよそ 100 ミリ秒間隔でイベントが実行されます。 また、メモリに負荷のかかるスクリプトでも、イベントがオフセットされる場合があります。 --------------------------------------------------------------------- ただし割り切れる数、仮に10fpsで1000ミリ秒間隔で実行するようにしてもずれてくる(と思う)。 Flashに限らずあらゆるプログラムのタイマーイベントは"約"○秒間隔で実行されるものと覚えておいた方が良い。 今回のタイマーイベントは経過時間描画更新用にでもしておいて、 実際何秒経ったかの計算は、タイマー開始時の時間をgetTimer()で取得して保持しておき 描画更新タイマーイベントの度にこの時の時間をこれまたgetTimer()で取得、 そんで保持しておいた開始時の時間との差分を計算して 結果を経過時間として表示がベターでありセオリーかな。 描画更新用タイマーの間隔を1000ミリ秒にすると最初の理由で時々秒数が2秒飛んで表示されたりするはずだから、 気になるなら描画更新イベントを呼ぶ間隔を100ミリ秒なりfpsが許すまで気にならないレベルに落とせば良いと思う。
172 名前:Now_loading...774KB [2007/08/31(金) 23:08:28 ID:agiUkJyo] FlashMX2004です。クラスの利用についての質問です。 クラスを管理しやすくするために、FLAファイルと同階層に MCControlフォルダと、Managementフォルダを作り、 MCControlフォルダにCursor.as、Managementフォルダに Condition.asを配置しました。 ここで、Cursor.asで、Conditionを使おうとして class Cursor { var condition:Condition; } とすると、「クラス'Condition'がロードされませんでした」というエラーが出ます。 importしようとして、 import Management.*; class Cursor { var condition:Condition; } としても、解決できませんでした。 どうすれば、別フォルダにあるクラスを利用することができるのでしょうか?
173 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 02:37:23 ID:fOe1T35u] FLASH5使ってます ムービークリップのアクションに記述した変数の中身を 別のフレームのムービークリップやフレームのアクションから 読み込みたいのですが、可能ですか
174 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 07:00:10 ID:8k8KBU5/] >>172 パブリッシュ設定画面でActionScriptのバージョンリストの横にある設定、 そこでクラスフォルダを指定できる場所があると思うからそこに MCControlとManagementフォルダパスを指定すればいける、かも。
175 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 11:10:06 ID:lM5AHOi+] >>172 パッケージとして使うなら class MCControl.Cursor {
176 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 12:30:56 ID:+bO+o6yA] >>173 パスを使う。例えば、MC名がxxxで変数がyyyなら、 絶対パスでは、_root.xxx.yyy
177 名前:172 mailto:sage [2007/09/01(土) 12:48:19 ID:or8PVano] ご解答ありがとうございます。 >174 相対パス指定、絶対パス指定の両方をためしたのですが、状況は 変わりませんでした。 >175 class MCControl.Cursor { var condition:Condition; } としてみたのですが、状況は変わりませんでした。 また、念のため class MCControl.Cursor { var condition:Management.Condition; } および、Condition.asを class Management.Condition{ //処理 } として試してみたのですが、同様に状況は変わりませんでした。 なお、エラーは「シンタックスチェック」ボタンを押したさいに出ます。 FLA精製時には、エラーメッセージは出ません。 ※クラスファイルで別クラス読み込むさい、「../」といった方法あればいいのですが……
178 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 12:57:01 ID:5nF/Lifr] >>177 環境設定のクラスパスに追加汁
179 名前:172 mailto:sage [2007/09/01(土) 13:17:41 ID:or8PVano] ご回答ありがとうございます。 >178 「環境設定」から、MCControlとManagementのパスを追加したところ class MCControl.Cursor { var condition:Management.Condition; } だと状況に変化はなかったのですが、試しに class MCControl.Cursor { var condition:Condition; } としたところ、「コンパイルされたクラス'Management.Condition'が 読み込まれたクラス'Condition'に一致しませんでした」という、別の エラーが帰ってきました。 (「クラスをコンパイル」した覚えはないのですが……) なお、Condition.asは前回と同様 class Management.Condition{ //処理 } です。
180 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 13:36:28 ID:lM5AHOi+] クラスパス追加するからエラーがでるんだろ。 追加するのはクラスのルートディレクトリだけな。でコンパイルするときはASO 削除してから。
181 名前:Now_loading...774KB [2007/09/01(土) 13:47:57 ID:+bO+o6yA] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) SharedObjectのディレクトリについて質問です。 localSO = SharedObject.getLocal(saveName1, "/"); と localSO.flush(); で、saveName1という名前でHDDのlocalhost内にデータを保存させることは 出来ました。 次にlocalhostの下に、ASで任意の名前のディレクトリ(例えばFolder1)を作って 保存したいのですが、これは可能でしょうか? solファイルが増えることを想定して、ディレクトリ名で管理したいと思っています。
182 名前:172 mailto:sage [2007/09/01(土) 14:05:18 ID:or8PVano] ご解答ありがとうございます。 >180 ルートディレクトリを「フルパスで」設定したところ、エラーが出ずに 無事表示されました。ありがとうございました。 ただ、一つ疑問なのですが、環境設定ではすでに クラスパスとして「.」が登録されていました。 これは、FLAファイルがおかれているディレクトリを指すのだと 思うのですが、なぜ改めてフルパスで指定しなければ うまく動かなかったのでしょうか? ※今後、複数のFLAファイルを作っていく際に、「そのFLAのある ディレクトリがクラスのルート」という指定ができてくれれば 編集のたびにいちいち環境設定を変更しなくても良くなるのですが……。
183 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 14:44:20 ID:/szJRb7p] >>182 ファイルからの相対パスじゃなくて 実行プログラムからの相対パスだからじゃね? よく知らんけど
184 名前:172 mailto:sage [2007/09/01(土) 15:09:44 ID:or8PVano] ご回答ありがとうございます。 >183 私は実行ファイルを「appli」フォルダに入れていたので、そこからの 相対パス「..\」をクラスパスに設定したところ、問題なく動作いたしました。 ありがとうございました。 >172からの質問は、これにて終了いたします。 皆様、本当にありがとうございました。
185 名前:158 mailto:sage [2007/09/01(土) 15:20:03 ID:e1mE+muK] >>181 ディレクトリ操作は無理じゃないかと。 FLASHから勝手にフォルダ作られちゃ困るでしょ
186 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 19:10:34 ID:5nF/Lifr] >>181 第2引数で指定すりゃいんじゃねーの
187 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 19:53:32 ID:or8PVano] FlashMX2004 Professionalです。 私は>172ですが、別件の質問をさせていただきます。 アニメーションするマウスカーソルを作ろうとしているのですが、 このアニメーションを、複数の外部JPEGを読み込むことで 実現しようと考えています。(いわゆるパラパラ漫画のようにする) ぱっと思いつくのは、setIntervalを使って、短い時間に次々と MovieClipLoader.loadClip()でJPEGファイルをロードする方法ですが、 アニメパターンごとにloadClipするのは明らかにまずいように思いますw あらかじめ画像全体をメモリに読み込んでから、表示時jにメモリへ アクセスするとか、そう言った「外部ファイルのアニメ表示」のアイデアには どういうものがあるのでしょうか?
188 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 19:58:31 ID:0t02gU5O] >>181 >>186 "/"で指定できるのはswfのurlに含まれるディレクトリ C:\Documents and Settings\hoge\test.swf の場合 "/Documents and Settings"でlocalhost内にDocuments and Settingsと言うフォルダが出来る。 (webでも大体同じ) 残念ながら任意の名前は指定できない。
189 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 20:06:21 ID:5nF/Lifr] /以下の任意のディレクトリ構成は可能じゃなかったっけ?
190 名前:181 mailto:sage [2007/09/01(土) 20:16:42 ID:/2GjwLFq] >>185 ,186 ありがとうございます。第2引数では駄目でした。 やはり、ディレクトリはlocalhost固定のようです。
191 名前:181&190 mailto:sage [2007/09/01(土) 20:20:26 ID:/2GjwLFq] >>181-189 すいません。このスレをリロードせずに書き込んでいました。 一応、下に1個は作成できるということですか?
192 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 20:37:41 ID:5nF/Lifr] >>191 ああ、第2じゃなかった 第1引数の方で"savedir/savedata"とかでやってみてちょ
193 名前:181&190 mailto:sage [2007/09/01(土) 21:47:09 ID:/2GjwLFq] >>192 有り難うございます。 path1 = "subhost/"; localSO = SharedObject.getLocal(path1+saveName1, "/"); とすると、#subhostフォルダ(シャープが付く)が作成され、その中に saveName1.solが保存されました。 なお、第2引数 "/"が無い場合は、path1で指定した名前に関わらず Flashで勝手に ##EE6383F9C6・・・・ などというフォルダが作られ、 その中に00000001.solというものが出来ます。 よって第2引数も 必須のようです。
194 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 22:47:04 ID:/9LeuBUy] >>187 試してないから出来ないかもしれないけど 1 2 3 4 レイヤー1:mc1 レイヤー2: mc2 レイヤー3: mc3 ってMC置いといて 4フレーム目でそれぞれのMCに画像読み込んで 1〜3フレームをループすればできそう。
195 名前:188 mailto:sage [2007/09/01(土) 23:14:26 ID:0t02gU5O] >>192 おお、気が付かなかった、勉強になった。
196 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 23:28:54 ID:GOhTES9R] >>187 それ、一枚ごとに読み込まなきゃいけないの? アニメにするつもりなら、swfとかflvみたいなひとかたまりにしておいた方がよくないか?
197 名前:Now_loading...774KB mailto:sage [2007/09/01(土) 23:46:13 ID:Apz3GuwA] 標準カーソル隠してカーソルの位置にアニメーションするMC、だけで済むだろうに・・ まさかFlexで作ってるとかじゃあるまい?
198 名前:187 mailto:sage [2007/09/02(日) 00:03:21 ID:JKrAf2BC] ご回答ありがとうございます。 >194 ありがとうございます。あらかじめ複数配置しておくのは盲点でした。 ただ、loadClipするときは、そのフレームで対象となるmcが配置されて いる必要があるので、下のレイヤーを前のフレームに配置し 後のフレームを上に重ねるようにすればできそうです。 (この場合、複数のmcがカーソルの中で重なっているので のちの仕様変更(透過PNGを使うなど)の歳にもう一度考えないと いけないとは思いますが、当分はこの手でしのげそうです) >196>197 発注元からの指示が「Flashがなくても絵柄を変更できるように PhotoShopで扱える画像で頼む」とのことでしたので、こんな方法を 取っています。Flash8以降ならPNGを使えれば透過もできて最高なのですが 開発環境がMX2004なので、やむなくJPEGで納得してもらっています(´・ω・`)
199 名前:Now_loading...774KB mailto:sage [2007/09/02(日) 04:28:56 ID:o3hqjAWm] プロジェクターについて質問なのですが、 例えばウィンドウのクローズを押された時に『終了しますか?』というようなダイアログを出したいのですが FLASH側でクロ−ズを取得するコマンドってありますか?
200 名前:Now_loading...774KB [2007/09/04(火) 16:40:25 ID:y0mjhuPr] 環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0) SharedObjectの新規ディレクトリ(フォルダ)について path1 = "subhost/"; localSO = SharedObject.getLocal(path1+saveName1, "/"); とすると、#subhostフォルダ(シャープが付く)が作成され、その中に saveName1.solが保存されました。 ここで作成とは反対に、作成ディレクトリ(フォルダ)の削除と名前の変更を 試みていますが、両方出来ません。 削除・変更は、(セキュリティ上)OSの機能を使わないとやはり駄目なのでしょうか? なお、新規ディレクトリ内のsolファイルの削除は、saveName1を定義して localSO.clear(subhost); でOKでした。
201 名前:Now_loading...774KB mailto:sage [2007/09/04(火) 20:32:37 ID:5sDI9kzh] 無理じゃないの? てかそれ目的はなに?