1 名前:Now_loading...774KB [2008/07/08(火) 15:08:44 ID:37ODdv7N] AcitonScriptのことなら 初歩的な質問でもなんでもおk 見れない、保存したい、flashを作りたいはスレ違い 下記の関連スレ、超基本的な質問へ。 ●質問する時は自分の環境を書く(AS2,AS3の別も) ●質問はものすごい勢いじゃなくて結構 ●できるだけコードも示す ●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く 前スレ ActionScript 誰かが物凄い勢いで解答するスレ 19 pc11.2ch.net/test/read.cgi/swf/1205361771/ 関連スレ Flashの超基本的な質問はここでしろ! part37 pc11.2ch.net/test/read.cgi/swf/1202144062/l50 Flash製作初心者の質問スレッド レイヤー38 pc11.2ch.net/test/read.cgi/swf/1202151748/l50
111 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 22:17:04 ID:LKk+wmbL] FlashCS3ProのAS3で質問します。 package { import flash.display.MovieClip; public class cMain extends MovieClip { var strAry:Array; public function cMain():void { strAry=new Array("nnn","hoge","hoge"); } function cStr():String{ var str:String; str = strAry[0]; trace(str); return str; } } } 根本的にオブジェクト指向ってのが判ってないという者です・・・ cStr()で上で設定したstrAryの中身をいじりたいんですけど、どうやればいいんでしょうか? 他の外書きクラスからcMain.cStrって呼び出して使いたいのです。 (実際にはstrAryにはRSSのパースしたのが入ってます。)
112 名前:Now_loading...774KB [2008/07/24(木) 22:19:39 ID:LKk+wmbL] ようするにstr = strAry[0]; をしたいって事です。
113 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 23:40:05 ID:9YFGAhAX] 第34回 HTMLからFlashムービーに変数を渡してみよう:ITpro ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061206/256146/ この解説ページのようにHTMLのフォームからSWF内に変数を使って文字列を送りたいのですが、 上記はAS2での解説で、AS3だとうまくいきません(FlashCS3を使用しています) どこを変えればAS3でも動くようになりますでしょうか? お願いします
114 名前:Now_loading...774KB mailto:sage [2008/07/24(木) 23:44:44 ID:GCBaMxUl] >>111-112 クラス定義の内側で宣言した変数はメンバ変数と言われ、 基本的にクラス内のメソッドからは自由にアクセスできます var strAryの前にそれぞれ、クラスの外部からもアクセスしたいならpublicを、 内部からのアクセスだけでよいならprivateを付けましょう
115 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 00:16:55 ID:GMMixAZ6] >>114 ありがとう。
116 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 10:18:43 ID:VnVDP8gP] >>114 ばかっ!外部から参照したいだけならprotectedだろっ!ばかっ!
117 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 10:26:46 ID:2orjErp2] 落ち付いてマニュアル読み直せw
118 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 11:10:12 ID:eDPjqEov] as3でAccordionコンポーネントを使用する方法ってりますか? 普通に考えて無理だと思うし、調べてみても無理っぽい記述しかないが…。 明確な回答は見つかりませんでした。 よろしくお願いします
119 名前:Now_loading...774KB [2008/07/25(金) 14:25:36 ID:Gb723wB/] AS3で質問します。 function clicked(event:MouseEvent):void {} というクリックイベントで呼び出す関数があります。 同じ関数をタイマーイベントでも呼び出したい時に()の中の Event:○○○をどう書いたら良いんでしょうか? 同じ内容の関数を function timerHandler(event:TimerEvent):void {}と書いてますが。 なんか違いますよね?
120 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 14:52:27 ID:2orjErp2] >>119 function clickAndTimerHandler(event:Event){ trace(event.type) } みたいにEventクラスで受けて、必要ならばtypeの値でどんなイベントかを 判定すればいいんじゃないかな?
121 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:12:50 ID:Gb723wB/] >>120 ああ、なるほど・・・ すげえ助かった。ありがとう。
122 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:48:00 ID:LWrSDg+Y] //Main.as package{ import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class Main extends flash.display.Sprite{ public function Main():void{ var sub:Sub = new Sub(); addChild(sub); }}} //Sub.as package{ import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class Hoge extends flash.display.Sprite{ public function Sub():void{ var tf:TextField = new TextField(); tf.text = "Hoge"; tf.autoSize = TextFieldAutoSize.LEFT; addChild(tf); }}} AS3です。 なぜ、文字を表示するのにaddChild(sub)をする必要があるのでしょう。 Subで既にaddChildを行っているのでそれだけで十分だと思うのですが。 Subで音楽を鳴らす場合は、addChild(sub)をしなくても鳴らせます。
123 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:49:43 ID:VnVDP8gP] >>117 僕が悪かったですごめんなさい
124 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 15:50:24 ID:LWrSDg+Y] すいません、↓のHogeはSubです。 public class Hoge extends flash.display.Sprite{
125 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 16:24:39 ID:Gw/20vnf] >>122 例えば Subというウィンドウにテキストが表示されてても、そのウィンドウが画面に表示されてなければテキストは見えないでしょう? 音楽は、その音楽を鳴らしているウィンドウが存在していれば、画面に見えて無くても聞こえるでしょう? 分かりづらいかな・・?w
126 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 17:54:37 ID:LWrSDg+Y] >>125 ありがとうございます。 package(class)の違いで、別ウィンドウが存在するんでしょうか。 音楽の方はなんとなく分かりました。
127 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 19:02:12 ID:c6UsrShW] 表示域は常にひとつです。トップレベル、この場合Mainがその表示域のベースとなります。 表示域とは演劇でいうステージです。意図的に照明(visible)を切り替えない限り常に見えます。 addChildはこのステージに背景や演者を設置する手段です。 newで生成した段階ではまだ舞台袖にいる段階で、ステージ上にはいないので見えません。 しかし音楽はステージ上にいなくても聞こえますよね。 さて、次に文字ですが、この場合Subを木、文字を木の実として考えましょう。 木の実を木に対してaddChildすると、木には木の実が配置されます。 しかし木自体がまだ舞台袖にあり、ステージ上に無いので見えません。 木(Sub)をステージに設置(addChild)して、初めて木の実もステージに登場するわけです。
128 名前:Now_loading...774KB mailto:sage [2008/07/25(金) 20:09:06 ID:LWrSDg+Y] >>127 ありがとうございます。 なるほど、すごく分かりやすく理解できました。
129 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 00:23:47 ID:l/QqDgBv] AS3swfファイルを起動すると、まず、 スタートパッケージのコンストラクタの処理をするのは分かったのですが、 その後、プログラムの位置はどこにある状態なのでしょう。 C言語のwhile待ちやWin32APIのGetMessageに当たるものです。 スタートパッケージの始めの部分で待っていて、 マウスが押されたりすると、スタートパッケージ内に mouseDownHandlerなどが無いか探し、 無ければまたスタートパッケージの始めの部分で待っている感じでしょうか。
130 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 00:53:58 ID:6N/EnPDD] イベントドリブンを理解しましょう
131 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 01:09:41 ID:dygQBh9z] >>129 他の言語から移ってくると気持ち悪く感じるかもしれないけど メインのループ処理は完全に隠蔽されてる あえて言うなら FlashPlayer の中だけど 普通の開発者はそれを意識する必要が全くない もしスレッドループ的なものが必要なら Event.ENTER_FRAME や Timer のイベントを使う
132 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 07:33:41 ID:l/QqDgBv] ありがとうございます。 >>130 Win32APISDKと比べると↓な感じでしょうか。 スタートパッケージ == コールバック関数 スタートパッケージコンストラクタ == WM_CREATEメッセージ addEventListenerで登録した物 == WM_LBUTTONDOWNなどの各メッセージ >>131 普通の開発者はそれを意識する必要が全くない というのはなんとなくは分かっていたんですけど、 new、addChildしたものが開放される(する)タイミングが分からなくて、 プログラムの流れが気になりました。
133 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 13:40:41 ID:gkEZz+dm] >>132 イベントドリブンやGCなんてのはActionScript固有のものでもないし、 どちらかというと最近では主流になりつつあるものだから、 そっちについて個別に学んだ方が理解が深まると思うよ。 C使いだったならC#と比較してるサイトいっぱいあると思うから。
134 名前:Now_loading...774KB mailto:sage [2008/07/26(土) 14:45:54 ID:l/QqDgBv] >>133 ありがとうございます。 なるほど、C#を少しかじって理解を深めたいと思います。
135 名前:Now_loading...774KB [2008/07/26(土) 23:12:25 ID:ujU4TWfq] 1・外部XMLファイルをプログレスバーを表示してローディング→2・Tweener等を使ってサイト名表示等のアニメーション演出→3・XMLファイルデータを元に外部jpgを読み込み表示 といったflashをタイムラインを使用せずAS3で作成してあり、2の処理中に3へ処理をスキップする機能を持つスキップボタンを付けたいと思っているのですが どのように考えれば良いかが上手くつかめません、2のスクリプト処理中の流れを割り込み(2で作られた演出用のスプライト等を削除し)3へ移動させる?というのは どういった処理を行えばいいのでしょうか?
136 名前:Now_loading...774KB [2008/07/28(月) 16:32:11 ID:VNCXamqf] as3です。 同一ディレクトリ内にある別のasファイル(VideoLoader.as)の中の変数(_hoge:uint)を 別クラスのBtnsClass.as内のスクリプトで、「参照&書き換える」には、 どのようにしたらいいでしょうか。 VideoLoader内でpublicで変数を宣言しています。 BtnsClass内のコンストラクタです。 VideoLoader._hoge = 5; では駄目でした。 VideoLoader._hogeにも型宣言するのはおかしい気がするし、 publicで指定しているのになぜアクセスできないのか、、、 かなり悩んでます。
137 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 17:44:22 ID:SuSWJ2Co] AS3で静的コンストラクタみたいな 使い方ができるものがありましたら教えてください。
138 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 18:09:46 ID:1fUSat/w] >>136 livedocs.adobe.com/flash/9.0_jp/main/00000064.html#wp909014 >>137 www.trick7.com/blog/2007/01/07-082232.php
139 名前:Now_loading...774KB [2008/07/28(月) 19:09:09 ID:QYVJsqYm] マスクの下にあるムービークリップにattachMovieしたオブジェクトがマスクされません 回避方法としてはどういうものがありますか?
140 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 20:13:36 ID:Gexl2UAW] aaa.swf内でbbb.swfをloadVariablesで読み込んでいるんですが bbb.swfで記述しているsendAndLoadに対するonLoadイベントが発生しない状況になっています。 bbb.swfを単体で表示させるときちんとonLoadイベントは発生しているのですが なにか問題があるのでしょうか? またonLoadイベントが発生していないだけで表示は問題ありません。 aaa.swf内 _root.loadVariables("../menu/menu.txt");←これにbbb.swfパスが書いている こんな感じです &content1=../menu/bbb.swf& bbb.swf内 var send_lv:LoadVars = new LoadVars(); var recv_lv:LoadVars = new LoadVars(); recv_lv.onLoad = function(){←aaa.swf経由で表示させると、こいつが走らない trace("data"); }; send_lv.sendAndLoad("aaaaa.com/zzzzz.php ",recv_lv, "POST"); どなたかすみませんが教えて頂けませんでしょか
141 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 21:35:54 ID:TxBAy1NH] var senddata:URLVariables = new URLVariables(); senddata.cmd = "cmd"; senddata.key1 = "001"; senddata.key2 = "002"; trace("##########: "+inkdata.toString()); とやったとき、traceの結果がころころ変わります。 cmd=cmd&key1=001&key2=002 だったり key1=001&cmd=cmd&key2=002 だったり。 毎回 cmd=cmd&key1=001&key2=002 とサーバー側で受け取る方法ってないですかね?
142 名前:Now_loading...774KB mailto:sage [2008/07/28(月) 23:17:43 ID:XO5DuyEj] as2で作ったswfをas3で読み込んだらloader.contentがnullになってしまいます・・・ これってどうすればいいんでしょうか ちなみにas2のflaファイルはもうないんです
143 名前:137 mailto:sage [2008/07/29(火) 00:22:15 ID:Z0cq8PeP] >>138 ありがとうございます。
144 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 00:58:41 ID:S+kplSAU] >>140 そもそもbbb.swfはどうやってロードしてるの?
145 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 09:26:28 ID:DZacUpsR] >>139 マスクはどうやって作ってるの? attachMovieは正の深度だよ >>142 fla無いならAS3への移行できんからAS2で読み込んで処理する
146 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 17:29:01 ID:Np3YCmwO] 質問です。環境:AS3, Flex3 Q:デフォルト値が設定されている引数が複数あるとき、n番目の値だけ指定して、他を省略する事はできますか? 例:function fの呼び出しでarg4の値だけ指定したい function f(arg1:int=0, arg2:int = 1, arg3:int = 3, arg4:int = 4):void { trace(arg1,arg2,arg3,arg4); } VBのCall f(arg4:=40)みたいなことは出来ないでしょうか
147 名前:Now_loading...774KB mailto:sage [2008/07/29(火) 19:06:49 ID:3ZXx5RAK] >>146 argumentsオブジェクトを使うといいかも。
148 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 13:04:03 ID:/jifwed9] AS3です。 addChildの反対のdeleteChildみたいなのがありましたら教えてください。
149 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 15:13:37 ID:cdPPc+ee] >>148 removeChild 答えた代わりに一つ聞きたいんだけど、この程度のことググった方が早くない? どうしてわざわざ聞こうと思ったの?煽りとかじゃなくて。
150 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 15:29:53 ID:/jifwed9] >>149 ActionScript3 + addChild + (反対 or 開放 or deleteChild) あたりではググっていたのですが見つけられませんでした。 また、newに対するdelete、コンストラクタに対するデストラクタ がない(行われるタイミングが分からない)というのもあって、 addChildの反対のものも無いのでは という気持ちがいけなかったのかもしれません。
151 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 16:28:12 ID:cdPPc+ee] なるほどね。とりあえず今後はLiveDocsのリファレンスガイドを活用するといいよ。 すべてのクラスとそのメソッドについて一覧と説明があるから、 そこを順番に見ていけば基本的なことの大半は解決するはず。 それからGoogleも単なる道具だから、使う側が工夫する必要もある。 「ActionScript3」の部分でAS3の情報に絞ったつもりだったんだろうけど、 ネット上のドキュメントはどちらかというとActionScript 3.0といった表記の方が多いんだよね。 例えばそこを変えただけでも(ActionScript 3.0 addChild)、LiveDocsが最初に引っかかるし。 あとremoveChildのことを「addChildの反対です」と表現してることってほとんどないし、 どういう書かれ方をしてるか予測して検索した方がより正解にたどり着きやすくなると思うよ。
152 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 16:43:23 ID:yG5n5h/q] リストに対する追加/削除はadd<->remove newに対する機能はdispose、ただしgcにまかせていいクラスならdisposeは存在しない AS3に限らず最近のフレームワークはみんなこんな感じ
153 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 17:44:43 ID:s39ND9NC] AIR1.1になって、IME.enabledを設定してもIMEのオン、オフができなくなってしまったのだけど、解決方法を知っている人いませんか? AIR1.0では問題無くオン、オフできるのだけど。
154 名前:Now_loading...774KB mailto:sage [2008/07/30(水) 18:37:00 ID:/jifwed9] >>151 >>152 すごく勉強になりました。 次に質問させていただくときには、気をつけたいと思います。 ありがとうございました。
155 名前:Now_loading...774KB [2008/07/31(木) 19:29:34 ID:e2PUWTO5] ある日数の範囲(例:20080801〜20080930)と ある日数の範囲(例:20080815〜20081031)に 重なりがあるかどうかを判定するにはどうしたらよいでしょうか?
156 名前:Now_loading...774KB mailto:sage [2008/07/31(木) 20:13:03 ID:ayqNwGZU] Date.timeで数値としての日時が取得できるから、それを比較すればおk
157 名前:Now_loading...774KB mailto:sage [2008/07/31(木) 20:16:17 ID:VgsN3smr] >>155 期間A→A1〜A2 期間B→B1〜B2 とすると、重なるのは ■A1------------A2 ■ B1------------B2 ■A1-------------------------A2 ■ B1------------B2 ■ A1------------A2 ■B1-------------------------B2 ■ A1------------A2 ■B1------------B2 なので、A1<B1<A2またはB1<A1<B2の時重複してると言える。 if ( (A1 < B1 && B1 < A2) || ( B1 < A1 && A1 < B2 )) trace("重複"); これでどう?質問の本質を理解してないかも。
158 名前:Now_loading...774KB [2008/07/31(木) 22:57:29 ID:e2PUWTO5] >>156-157 ありがとうございます! なるほど、こういう考え方がありましたか。 これでうまく行きそうです。とても助かりました!
159 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 05:06:42 ID:bQNbnEXo] NetStream.onStatusについての質問です。AS2です。 FLV が見つからない場合の"NetStream.Play.StreamNotFound"なんですが、 ローカルでは取得できるのですが、サーバー上だと取得できません。 しかもそのまま放置するとフリーズに近い状態になってしまいます。 よろしくお願いしまいます。 コード: var connection_nc:NetConnection = new NetConnection(); connection_nc.connect(null); var stream_ns:NetStream = new NetStream(connection_nc); my_video.attachVideo(stream_ns); stream_ns.play("video1.flv"); stream_ns.onStatus = function(infoObject:Object) { if(infoObject.code == "NetStream.Play.StreamNotFound"){ messageText.text = "NetStream.Play.StreamNotFound"; } };
160 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 06:40:21 ID:bQNbnEXo] すいません自己解決しました。FC2サーバーだと取得できないみたいです。
161 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 14:22:38 ID:+cQsqCyi] AirのSQLiteで、人名などの日本語のデータをサーチできなくて困ってます sql.text = "SELECT * FROM daisy_task WHERE Task == 山田太郎" みたいにするとエラーが帰ってきてしまいます どうしたらよいですか
162 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 14:29:30 ID://GSIzui] SQLiteはよく知らんが普通検索文字列は"とか'で囲むんじゃね '山田太郎'とか
163 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 14:34:31 ID:+cQsqCyi] >>162 はや!助かります sql.text = "SELECT * FROM all_task WHERE Task == '山田太郎'"; これでやってみてもだめでした
164 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 15:18:00 ID:+cQsqCyi] すみません、ご指摘の方法で出来ました データベースの方がおかしかった模様 ごめんなさい
165 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 15:35:58 ID:GEbgJ/jt] 二次元配列を利用して、目標の座標へ移動する為に、どのような記述をすれば良いか困っています。 hitTable = [ [0,0,0,0,0] [0,1,1,1,0] [0,0,2,0,0] [0,1,1,1,0] [0,0,0,0,0] ] 上の配列は簡単なものなのですが、0が移動可能領域、1が壁、2が目標座標といった感じです。 移動させる物は四隅([0][0]、[0][4]、[4][0]、[4][4])のいずれかからスタートし、1座標ずつ目標座標へ近づき移動したいのですがスタート位置がランダムな為、記述方法がいくら考えても思いつきません……。 良ければどうか皆さんの知恵を貸して頂ければ助かります。
166 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 16:23:32 ID:dROoT5DI] それはASじゃなくてアルゴリズムの問題だよね? ゲ製作技術とか行った方がいいんじゃないかな もしくは経路探索アルゴリズムとか最短経路問題でググるといいと思う
167 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 17:02:19 ID:WDMpy2el] 環境AS3です. flvを切り貼りするようなソフトを作ろうと思っているんだが,それ系のライブラリってあるぽ? 無いとしたらどうやって編集すればいいんだろ? RichFLVがある以上は編集不可能ではないと思うんだが・・・.
168 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 18:08:59 ID:78kX3edD] >>167 板違いです。 言語は何か知りませんがプログラム板にでもいってみては?
169 名前:Now_loading...774KB mailto:sage [2008/08/01(金) 18:19:46 ID:GEbgJ/jt] >>166 そうですね。アドバイスありがとうございました。
170 名前:Now_loading...774KB [2008/08/01(金) 18:29:45 ID:ee8nRpht] 環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0) hitTest()動作で質問です。 root上に2つのMC(mc1, boarderM)を置き、mc1はドラッグ移動が可能にしています。 boarderMは線状のMCで、これにmc1がドラッグ移動で右方向から当たった時、mc1の X座標が増分される、つまり壁に当たって弾かれる動作をしたく思っています。 フレームアクションのASは以下の通りです。 this.onEnterFrame = function() { if (this.mc1.hitTest(this.boarderM) == true) { this.mc1._x = +1; } しかしこれだと、右方向から当った瞬間、mc1がrootの原点に飛んでしまいます。 アドバイス願います。
171 名前:Now_loading...774KB [2008/08/01(金) 18:35:09 ID:rILae5AR] AS2です。テキストフィールドにhtmlを読み込んで表示させています。 画像とテキストがあり、全てセンタリングしたいのですが 画像ができません。 ヘルプにはイメージタグのalignはleftとrightしかないと書いてあるのでalignでは できないようですが、方法はないでしょうか?
172 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 00:42:40 ID:RQJa+joB] >>171 スレチ
173 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 15:49:27 ID:1+9B9CRx] >>170 よくわかんないけど、 this.mc1._x = +1;が this.mc1._x += 1;の間違いなんじゃないか?
174 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 19:22:12 ID:PD6WxBMs] 同じムービークリップをたくさん複製するとして、 そのムービークリップの1つのフレームアクション内で同じ処理を何度も記述する場合、 その処理をfunctionを使って定義したらしないのよりその分メモリ余計に使いますか? functionを使って記述した方が見やすくて修正も簡単ですが、少しでも処理が遅くなったりするのなら使わない方が良いしどうでしょう。
175 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 19:43:15 ID:NJ437UpZ] >>174 関数呼び出しは確かにオーバーヘッドが生じますが、 コードの量によってそうした方が全体的なコストが下がる場合もあります 結局は内容次第なので、自分で計測してより良い方を選択するのがいいと思います ただ、正直な話、それを自分で判断できないレベルではどっちにしても大差ない気もしますし、 Cみたいな言語で速度を追求したい場合ならともかく、ASなら普通は関数にまとめた方が良いと思います
176 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 20:19:45 ID:PD6WxBMs] >>175 レスありがとうございます。大きな差がないか自分で確かめてみます。 それともう一つ質問なんですが、deleteを使って複数の変数、たとえばa、b、cを削除する場合、 delete a; delete b; delete c; とdeleteを何度も書かずに、1つにまとめて削除する方法はありませんか?
177 名前:Now_loading...774KB mailto:sage [2008/08/02(土) 22:40:26 ID:ZZ2Wq4Gj] 環境: OS=Win XP SP3; Soft=Flash CS3 Pro; パブリッシュ=ver.9+AS3.0; Player=9,0,115,0と9,0,124,0の両方で確認 TextFormatについての質問です。 Font.enumerateFonts(true)を利用して、その環境で使えるデバイスフォントを取得し、 あるTextFieldでそのフォントを使うようにし、その後適当な文字列を打たせて表示させたいのですが、 何故か一部のフォントはMS ゴシックらしきフォントが表示されます。(その現象が起きるフォントは固定) ver.8+AS2.0環境で似たような処理をさせるとうまく表示できるのにver.9+AS3.0では出来ませんでした。 フォントを入れなおしたり、Playerを入れなおしてみたのですがそれでも駄目でした。 どのようにすれば、うまくデバイスフォントを表示させることが出来るのでしょうか。 次のレスにソースを置いておきます
178 名前:177 mailto:sage [2008/08/02(土) 22:43:44 ID:ZZ2Wq4Gj] import fl.controls.List; import flash.text.Font; var Font_list:List= new List(); stage.addChild(Font_list); var tmpFontArray:Array = Font.enumerateFonts(true); tmpFontArray.sortOn("fontName",Array.CASEINSENSITIVE); tmpFontArray.unshift({fontName:"_明朝"}); tmpFontArray.unshift({fontName:"_等幅"}); tmpFontArray.unshift({fontName:"_ゴシック"}); tmpFontArray.unshift({fontName:"_typewriter"}); tmpFontArray.unshift({fontName:"_serif"}); tmpFontArray.unshift({fontName:"_sans"}); var fontData:String; var l:uint = tmpFontArray.length; for each (var item:Object in tmpFontArray) { fontData = item.fontName; Font_list.addItem({label:fontData, data:fontData}); } Font_list.selectedIndex = 0; Font_list.scrollToIndex(0); var myTextFormat:TextFormat= new TextFormat(Font_list.selectedItem.data,40); var myTextField:TextField= new TextField(); myTextField.type= TextFieldType.INPUT; myTextField.border= true; myTextField.defaultTextFormat= myTextFormat; myTextField.text= "ここに文字を入力"; stage.addChild(myTextField); Font_list.addEventListener(Event.CHANGE, changeListener); function changeListener(msg:Event):void { myTextFormat.font = Font_list.selectedItem.data; myTextField.setTextFormat(myTextFormat); }
179 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 02:06:02 ID:CWzh0Cgs] 変数aの値によって参照する変数を変えたいのですがどのように変数を指定してあげればよいのでしょうか。 変数aに11と入っているとして 〜〜11 aに5が入っていれば〜〜05のようにしたいのです。 配列では〜〜[a]としてやれば出来ることは知っていますが、配列は使いたくありません。
180 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 02:41:20 ID:fj3QYjTq] >>179 なんで配列使いたくないんだ? ま、いいけど、配列アクセス演算子すら使いたくないのか?
181 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 02:47:24 ID:Tf1D/DVT] this["hoge"+a] aをゼロ詰めにする方法は宿題なっ!
182 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 14:05:03 ID:CWzh0Cgs] >>180 >>181 亀レスすいません。 配列を使いたくないのは hoge[11]まで作ってしまうと hoge[4]など値を入れる予定の無い所まで作ってしまうので、 無駄が大きくなってしまうと思ったからです。 配列アクセス演算子ですか。勉強になります。 var a:int = 5; var hoge5:String = "five"; var hoge11:String = "eleven"; var result:String = this["hoge"+a]; こうしてresultをTextFieldで表示。。。 これじゃダメなんですか。 resultを"a"と直接文字列を入れてあげればaが出ますし、 "a "+ this["hoge"+a]としてやると何も表示されなくなります。 Cを少しかじった程度ではオブジェクト指向プログラムは難しい。
183 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 14:50:38 ID:qZg6COc7] >>182 >値を入れる予定の無い所まで作ってしまうので それって設計自体間違ってるってことじゃね
184 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 14:57:09 ID:k9av+oUF] >>182 traceしてみたら?
185 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 15:02:16 ID:788UyqU8] >>182 trace(result)すると、ちゃんとfiveって出るけど? 何が問題なの?
186 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 15:04:59 ID:t7BaF4rW] 一通りの事ができるようになってから 無駄な部分を省くようにしていった方がいいな。 色々やってるうちに別の方法が見つかるのは良くあるので。
187 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 17:13:24 ID:KKvHJLAf] >>182 結局のところ何がやりたいの? 小出しにせずにやりたいことを書いた上で詰まってるところを書いた方が自分のためだよ
188 名前:Now_loading...774KB mailto:sage [2008/08/03(日) 18:45:28 ID:fIylDXIM] >>173 そうでした・・・・ Orz
189 名前:Now_loading...774KB mailto:sage [2008/08/04(月) 17:23:30 ID:+RokT2ah] 指定した小数の位以下の値を四捨五入する方法ってありますか? 例えば、少数点第二位以下を四捨五入して、0.59721を0.60000にするようなものです。
190 名前:Now_loading...774KB mailto:sage [2008/08/04(月) 19:13:48 ID:Uv7AQ0bo] 掛け算
191 名前:Now_loading...774KB mailto:sage [2008/08/04(月) 23:34:33 ID:wky3oNs6] AS3での正規表現の部分がよく判らないので質問します。 <div>〜</div>のパターンマッチングをしたいんですが var pattern:RegExp =/<div>*<\div>/ 上手くいかないので教えてください。
192 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 09:17:55 ID:aJYgCtu2] >>189 var num:Number = 0.59721; trace(Math.round(num * 10)/10); >>191 ヘルプの正規表現の部分を読む サンプルもいっぱい載ってる
193 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 10:00:53 ID:+l0TUmad] >>191 正規表現はワイルドカードとは違います <div>.*</div> ドットは任意の一文字 アスタリスクは一つ前の文字が0個以上連続する文字列を表します また\はメタキャラクタと言って、その後ろに続く文字によって意味が変わります(スラッシュを意味するわけではありません) AS3のヘルプ中バックスラッシュで表記してあるのがこれにあたります。 > <div>*<\div> の場合、\dは数字の0〜9のいずれかを意味するので、パターン全体としては "<div"に続いて">"が0個以上連続して続いた後"<"が現れ、続いて0-9の数字の後"iv>"が来るような文字列にマッチします すなわち <div>>>>>><0iv> のような文字列にマッチします 「AS3での正規表現」と書いていますが、正規表現そのものを勉強した方がいいです。 よってスレ違い
194 名前:Now_loading...774KB [2008/08/05(火) 18:46:53 ID:wSZFqz11] AS3で、Localにある複数の外部SWFを読み込む処理を作成しています。 var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, LoadComplete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoadIOError); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, LoadSecError); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , LoadProgress); loader.load(new URLRequest(hoge), new LoaderContext(false, ApplicationDomain.currentDomain)); 以上の処理を実行してCOMPLETEまたはERRORが発生したら、次のファイルで同様の処理を繰り返すということをしています。 たいていは上手くいくのですが、たまに(20回に1回程度)処理が止まってしまいます。 PROGRESSイベントを監視すると、データの読み込みは完了しているのに、その後何もイベントが起こっていないようです。 何もエラーらしきものを出さないので途方に暮れています。 考えられる原因はないでしょうか?
195 名前:167 mailto:sage [2008/08/05(火) 20:27:41 ID:aTLY0McM] 返信が遅れて申し訳ありません.>>167 です. >>168 言語はActionScript3.0です. 現在,ActionScriptを用いてFLVを編集するようなツール(ウェブ上のFLVを読み込んで編集し,吐き出しを行う)を制作したいと考えています. そのために,適切なライブラリがあるのか聞きたかったのです. インタフェースは後からどうにでもなるとして,FLVの一部を切り取ったり張り付けたりするのに適当なライブラリはありませんか? すでに自力で調べ尽くして有りそうにない,と感じたので最後の頼みの綱として皆様の知恵をお借りしたいと考え,質問させていただきます.
196 名前:Now_loading...774KB [2008/08/05(火) 21:09:29 ID:kPitZFlV] ActionScript2です。 変数「a」に「こんにちは」を含む言葉が入ってる時に、 変数「b」に「おはよう」を代入のようにしたいんですけど、 エクセルのワイルドカード()曖昧検索のような事は出来ませんか?
197 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 21:18:53 ID:qOBZSTWn] >>196 String.indexOf()使う
198 名前:196 mailto:sage [2008/08/05(火) 21:20:59 ID:kPitZFlV] >>197 ありがとうございます。
199 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 21:25:26 ID:aWUcR5nV] >>195 ffmpeg等の既存のライブラリを移植する以外に方法はないと思う オープンな仕様だから仕様書読み漁って新規に作り上げるという手もあるけど、 正直なところ前者も後者も君のスキルでは無理だと思う
200 名前:Now_loading...774KB mailto:sage [2008/08/05(火) 23:43:16 ID:unbSDsE5] >>194 都度Loaderをnewしているなら 処理完了後にremoveEventListenerしてやらないと Loaderオブジェクトが残ったままになるぞ。 それが直接の原因か分からんが
201 名前:Now_loading...774KB [2008/08/06(水) 01:25:17 ID:T28867CU] action script3で、 クラス間の変数の送受信は何でやればいいですか?
202 名前:Now_loading...774KB mailto:sage [2008/08/06(水) 07:33:38 ID:1Qj0tU1G] >>201 何でやればっていわれてもやり方はいっぱいあるし、やりたいことによって ベストの方法は変わるから回答しようがないw
203 名前:Now_loading...774KB mailto:sage [2008/08/06(水) 11:27:00 ID:GaJWcf/x] >>194 それってFirefoxだけに起きる現象ではないでしょうか。 COMPLETEイベントが発生しないで読み込みが完了する場合があるようです。 PROGRESSイベント内で完了しているか判断してやるといみたいですよ。
204 名前:Now_loading...774KB [2008/08/07(木) 01:33:02 ID:AI5Lffy4] ------------------------------------------------ mcMother ┬ mcChild1 - mcGrandchild1 └ mcChild2 ------------------------------------------------ 上のような親子関係で removeChild(mcMother)した時に 各子、孫には this.addEventListener(Event.REMOVED_FROM_STAGE , onRemoveStage ) function onRemoveStage(event){ trace(event.target) } で削除を監視させておいた場合 mcChild1はEvent.REMOVED_FROM_STAGEが起きて、Traceされますが mcChild2 , mcGrandchild1はTraceされません。 removeChild(target) target以下のすべてにEvent.REMOVED_FROM_STAGEがいきわたる方法 もしくはヒントをいただけないでしょうか。 よろしくお願いします。
205 名前:194 mailto:sage [2008/08/07(木) 11:26:46 ID:ODepELPj] >>200 意外なところで過去に作ったアプリのメモリリークの原因が分かりました。 >>203 そんなことがあるんですねー。 COMPLETEとERROR関連のリスナーを登録していれば、どれかが必ず呼ばれるという前提で、 ソフトを組んでいたのですが甘かったようです。 ありがとうございました。
206 名前:Now_loading...774KB [2008/08/07(木) 13:20:40 ID:KxwulJ5Y] 環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0) ラジオボタンのプロパティ変更(色変更)で質問です。 ○選択1 というラジオボタン(MC名:radioBtnM1)で、○内の背景が灰色,「選択1」を赤色に したく思い、MCのイベントとして下のASを書きましたが色が変更されません。 onClipEvent (load) { this.setStyle("themeColor", 0xCCCCCC); this.setStyle("Color", 0xFF0000); } ヘルプや、本「Flash ActionScript 逆引き大全550」(秀和システム)などを読みましたが 問題点が分かりません。 アドバイス願います。
207 名前:Now_loading...774KB mailto:sage [2008/08/07(木) 13:52:17 ID:V4FzOvxS] >>206 _global.styles.RadioButton = new mx.styles.CSSStyleDeclaration(); _global.styles.RadioButton.setStyle("themeColor", 0xCCCCCC); _global.styles.RadioButton.setStyle("color", 0xFF0000); これタイムラインに書いておけばいいと思う
208 名前:Now_loading...774KB mailto:sage [2008/08/07(木) 19:58:06 ID:KxwulJ5Y] >>207 さんきゅう。出来ました。 日本負けた・・・
209 名前:Now_loading...774KB [2008/08/07(木) 23:35:22 ID:FK5zdC5Z] 質問させてもらいます。 private function init(){ var req:URLRequest = new URLRequest(filePath); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler); loader.load(req); } private function progressHandler(event:Event):void{ trace(event.bytesLoaded); } 上のような形でロードされたバイト数を表示しようとしたのですが、 bytesLoadedが未定義だといわれてしまいます。 ちなみにeventをtraceすると下のような出力結果が出てきます。 [ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=28302] [ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=28302 bytesTotal=28302] どうすればbytesLoadedを表示できますか? 回答お願いします。
210 名前:Now_loading...774KB mailto:sage [2008/08/08(金) 00:42:00 ID:Afnpz4ry] >>209 progressHandler(event:Event)じゃなくて(event:ProgressEvent)じゃーい livedocs.adobe.com/flex/3_jp/langref/flash/events/ProgressEvent.html ここの一番下のサンプルでもみやがれい。 読まず嫌いが多いだろうがどんな本よりサイトより 最終的にはヘルプのリファレンス見ることになるから リファレンスで調べるクセをつけたほうがいいよ。 元々英語のを翻訳してるようだから時々怪しい日本語とか間違いとかあるけど。
211 名前:Now_loading...774KB mailto:sage [2008/08/08(金) 01:08:11 ID:tjd5bG7m] >>210 オーマイガッ ありがとうございました。