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
358 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 05:20:42 ID:GNdAwumD] >>355 ちょうど自分も作っているとろこだ。 ひとまずは、コメント、改行、スペース消し辺り。 ファイル、関数、変数名変換は少し苦労しそう。 関数の内容展開も実装したい。
359 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 07:42:24 ID:feXkVyDS] >>355 たしかニコニコ動画で難読化ツールを作る動画が上がっていたような希ガス 難読化というよりかは、デコンパイラ(というのが正しいのか解らんがその手のツール) を騙すような仕組みになっていた。 その辺を作れる人はバイトコードでいぢれるそうで、正直ついていけんw
360 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 08:33:23 ID:9jrVTYM2] >>357 ありがとうございます! やってみます >>358 おお、仲間が! 簡単だと思ってはじめたら継承とか配列からのメンバ呼び出しとかで けっこう大変ですよね >>359 ぬは、そんなものが・・・ バイトコードでいじれるとはすごい
361 名前:349 mailto:sage [2008/08/26(火) 11:07:57 ID:b+xqqrEg] >>350 サーバ上のDBにたまっていくログをリアルタイムに表示するアプリなので、 他に手段が無いのです… >>351 使い回してもload関数を呼ぶだけでメモリを消費するみたいです。
362 名前:Now_loading...774KB [2008/08/26(火) 12:57:52 ID:BFdvFxed] みそっぱちツールって知ってます? あれ使ったらASなんて覚えなくても一発ですよ
363 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 15:47:15 ID:c8bqOL8i] AS2でかいてます 外部読み込みのテキストのx行目からy行目までを表示させたいの txt.text.split("¥r")とかで総行数とか調べれるのはわかったけど 結局どうしていいのかわからんです たちけて
364 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:33:04 ID:Kyx4ztpd] text1〜text10までの変数に一度に代入したいのですが記述がうまくいきません。 for(i=1;i<=10;i++){ eval("text"+i)=a;//この部分が駄目でした } 左辺のevalが原因と思いますが、他に良い方法が思いつきません。 text1=a; text2=a; …… とやっても良いのですが行が増えるのであまりしたくないんです。分かる方がいれば是非お願いします。
365 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:36:11 ID:mbrVPtgS] >>364 「配列アクセス演算子」でぐぐる。
366 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:46:06 ID:Kyx4ztpd] >>365 即レスありがとうございます。おかげさまでできました! this["m"+i]=a 上の記述でできました!ありがとうございました。
367 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 16:58:45 ID:GpaeuEGq] >>320 です。みなさんのAS作成環境について教えてください。 もう一度お願いします。
368 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 17:05:57 ID:A4l4OPRU] >>363 gaibuTxtLoad = new LoadVars(); gaibuTxtLoad.load("gaibu.txt"); gaibuTxtLoad.onData = function(dat) { if (dat.indexOf("\r\n") != -1) { gaibuTxtLine = dat.split("\r\n"); } else if (dat.indexOf("\n") != -1) { gaibuTxtLine = dat.split("\n"); } else if (dat.indexOf("\r") != -1) { gaibuTxtLine = dat.split("\r"); } trace("2行目から3行目まで:"+gaibuTxtLine[2]+"\n"+gaibuTxtLine[3]); trace("総行数:"+gaibuTxtLine.length); };
369 名前:368 mailto:sage [2008/08/26(火) 17:07:42 ID:A4l4OPRU] trace("2行目から3行目まで:"+gaibuTxtLine[1]+"\n"+gaibuTxtLine[2]); だった
370 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 17:37:44 ID:xVCJ80hp] >>369 それじゃ何百行と取り出したいようなとき酷いことになるし、 普通にsliceしてjoinの方が楽じゃない?
371 名前:368 mailto:sage [2008/08/26(火) 18:27:12 ID:A4l4OPRU] こうですね //2行目から3行目まで startLine = 2; endLine = 3; out = gaibuTxtLine.slice(startLine-1, endLine); trace("2行目から3行目まで:"+ out.join("\n"));
372 名前:Now_loading...774KB [2008/08/26(火) 18:29:25 ID:BFdvFxed] みそっぱちツール使ってみました! こんなツールあったんですね
373 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 19:23:59 ID:jdjggU2P] 共通関数(common.as)を作りました。 ↓↓↓↓↓↓ public class common { public static function hoge():uint { return 123; } } 利用する側(同じフォルダ)でimport common;って書いて hoge();したんですが、 「未定義である可能性が高いメソッドhogeの呼び出しです。」 と出ます!! どこがおかしいのでしょうか!?
374 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 19:37:04 ID:k74bQ8KG] >>373 パッケージって知ってる?
375 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:12:04 ID:jdjggU2P] >>374 package { public class common { ・・・・・ } } って書いてますが・・・・ 同じフォルダならこれでいいのかなって思って・・・
376 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:44:38 ID:a5iQ1ZnH] common.hoge();ってやった?
377 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:55:24 ID:jdjggU2P] >>376 common.hoge();で出来ました! でもできればhoge();ってやりたいなあ〜!?? getとかsetとかって書けばできるんのかな・・・・・
378 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 20:58:55 ID:9jrVTYM2] 1つのファイルで1個の関数しか出来ないけど Hoge.asってファイルで package { public function Hoge():uint { 処理; } } とやれば Hoge();の呼び出し出来るようになるよ
379 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:00:15 ID:9jrVTYM2] ↑classにせずに関数だけのファイルってことです
380 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:11:36 ID:jdjggU2P] >>378 できた〜!! な・なるほど〜・・・ 関数沢山ある場合はその数分ファイル 作らなきゃいけないってことですね・・・・!?
381 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:12:53 ID:a5iQ1ZnH] >>377 getter/setterはメソッドをプロパティのように扱えるようにするためのものだよ
382 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 21:23:25 ID:a5iQ1ZnH] >>378 ロジック的にそれはどうなんだろうか・・・w >>380 そもそもなんでcommon.hoge()と書きたくないの? (ちなみにクラス名の最初は大文字で書くこと) 確かにタイプ量が多くなってイヤとか、コードが長くなるとかあるけど あとから読み返したときに突然hoge()なんてでてきたらわけわからなくなるよ? common.hoge()と書くことによって一発でcommonクラスのstaticメソッドだと判断することができる 可読性ってのは結構大事だよ あと、FlashCS3はカスだからできないけど、FlexBuilderやフリーのFlashDevelopなんかは カスタムクラスのコード補完機能がついてるからタイプ量はあんまり変わらないはず
383 名前:Now_loading...774KB [2008/08/26(火) 21:31:23 ID:YS2tUzSn] www.coedobrewery.com/swf/index.html 上でやってる、写真の出方ってどうやるんでしょうか?
384 名前:Now_loading...774KB mailto:sage [2008/08/26(火) 22:54:51 ID:9jrVTYM2] >>382 た、確かにw でも頻繁に使う関数(可変引数を渡すTrace)とかはこうしちゃってる
385 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 06:50:04 ID:25in53zB] >>361 そういうのはソケットつかうんじゃねーのか?
386 名前:Now_loading...774KB [2008/08/27(水) 11:15:46 ID:J/nr7fkD] actionscript3.0を使用しています。 コード(0.swfに記述しています) import flash.display.MovieClip; import flash.display.Loader; import flash.events.EventDispatcher; var ldr:Loader = new Loader(); this.addChild(ldr); this.stop(); this.start_btn.addEventListener(MouseEvent.MOUSE_DOWN,func01); function func01(e:MouseEvent):void { ldr.load(new URLRequest("1.swf")); } //end このとき、startボタンをクリックすると0.swfの上に1.swfが重ねられて表示されますが、1.swfを読み込んで表示した後に、1.swfの下にある0.swfを消去する方法はありませんでしょうか? ご存知の方、よろしくお願いします。
387 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 11:22:55 ID:dVidHVDW] >>383 Flash使ったこと無いけど、 全面白いオブジェクトを手前に表示(透明状態)させておいて、 そのalpha値を画像の切り替え前後で急激に変化させてるんじゃないかなあと想像 画像: 画像A → 画像B 白いオブジェクトのalpha値: 0→0.5→1→0.5→0 想像なので試してもないし保証も無し
388 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 11:35:28 ID:nKJjPubh] >>383 プロパティのカラー 詳細でアルファとRGBの値を弄ってるだけなんじゃ?
389 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 12:08:20 ID:MK9Vk3wy] blendとalphaっぽいね
390 名前:Now_loading...774KB [2008/08/27(水) 12:32:30 ID:Z00E6Rmg] なるほど。。。 前者の方法だと例のサイトのように抑揚がつかないんです。 後者だとFPSがかなり下がってしまって。。。
391 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 12:43:45 ID:nMjtOeRo] ActionScript3.0で質問させてください。 16進数を扱う場合には0xFFFFFFのように 先頭に0xをつけることで16進数であることをあらわしますが 2進数を扱いたい場合はどういった表記ルールがありますでしょうか。 FlashCS3のヘルプを見てもそれらしい記述が見当たりませんでした 初歩的な質問で申し訳ありませんがお教えいただけないでしょうか。
392 名前:Now_loading...774KB mailto:sage [2008/08/27(水) 12:55:56 ID:MK9Vk3wy] >>390 キャッシュみると別ファイルだから、スクリプトでリアルタイムに変化させずに 単にムービーに変換したのを流してるぽい >>391 ないんじゃない? AS3から8進数の0表記もなくなったって書いてるし。
393 名前:Now_loading...774KB [2008/08/27(水) 13:13:40 ID:g2p94euP] >>383 ブレンドの加算だと思うよ
394 名前:391 mailto:sage [2008/08/27(水) 14:22:10 ID:nMjtOeRo] >>392 やはりないんですね。 チョット別の方法を模索してみます。 レスありがとうございました。
395 名前:Now_loading...774KB [2008/08/27(水) 17:09:54 ID:Z00E6Rmg] 383です。 加算やブレンドで表現出来ました。 例のサイトの様なトランジションをつけて背景に読み込んだんですが、サイズをステージの大きさに合わせて可変させるようにすると、かなり処理が重くなって染まします。 AS2で書きました。 リサイズ処理 this.onResize = function() { boxResize(); }; Stage.removeListener(this); Stage.addListener(this); function boxResize():Void{ var boxRate:Number = imgBox._height/imgBox._width; enterBtn.posY = Math.floor(Stage.height-320); enterBtn.posX = Math.floor(Stage.width-122); imgBox._width = Stage.width; imgBox._height = Stage.width*boxRate; if(Stage.height>imgBox._height){ imgBox._height = Stage.height; imgBox._width = Stage.height/boxRate; } }; imgBoxというのに作ったムービーを読み込んでます。 他のちょっとした動きのメニューなどがかなり重くなってしまいます。
396 名前:Now_loading...774KB [2008/08/28(木) 00:16:56 ID:HIPE1BF0] フラッシュでおまんこに肉棒がつきささるフラッシュをつくりたぃんですがどうしたらいぃんですか? あふれ出すマン汁もリアルに表現したいです
397 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 04:25:46 ID:rdqOZFTz] >>394 むしろ2進数表記しなくちゃいけない場面ってどんなの? 何がしたいかが分かれば違う解決法も普通に提示できるかもしれない >>395 AS3に切り替えるってのはだめ? 少なくともAS2で同じ処理書くより断然速いよ
398 名前:394 mailto:sage [2008/08/28(木) 10:37:29 ID:D4/u9BBw] >>397 AS3.0の学習を兼ねてゲーム的なものを作ってます。 やりたかったことは、キー入力に対応したキャラの移動処理の部分で 斜め移動(2キー以上同時入力)の検出に2進法をつかった以下のような 処理を考えてました。 var val:Number = 0; if(右キー押下なら){ val += 0001; } if(上キー押下なら){ val += 0010; } (中略) swith(val){ case 0001: 右移動処理 break; case 0011: 右上移動処理 break; (後略) 同様の処理は10進数でも可能だったので、現在はそのようにしております。 他にスマートな方法がありそうにも思えるのですが…。
399 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 11:10:26 ID:sCtlFI1r] >>398 こんなのはどうでしょうか 参考程度にどうぞ const up:int = 1; const right:int = 1 << 1; const left:int = 1 << 2; const down:int = 1 << 3; var val:int; //例1:左下同時押し val = left | down; //例2:右キー単独押下 val = up; //例3:上キー押下追加 val |= right; switch(val) { case right: //右移動処理 break; case right | up: //右上移動処理 break; }
400 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 11:11:05 ID:/ttrGSMI] if(右キー押下なら && 上キー押下なら){ 上移動処理; 右移動処理; } じゃだめなん?
401 名前:399 mailto:sage [2008/08/28(木) 11:11:48 ID:sCtlFI1r] すみません訂正 //例2:右キー単独押下 val = right; //upになってました //例3:上キー押下追加 val |= up; //rightになってました
402 名前:Now_loading...774KB mailto:sage [2008/08/28(木) 11:48:23 ID:D4/u9BBw] >>400 レスありがとうございます。 その方法だと斜め移動時と上下左右移動時を比較したときに 1フレームあたりの移動距離が変わってしまう(斜め時の方が速くなる)のが 今作成中のものでは問題となるため、今回は採用できませんでした。 >>399 レスありがとうございます。 ビット演算については正直放置してたのですが、調べてみたところ もともとの処理のイメージに近い記述が可能なようですね。 ビット演算の用法についてチョット学習をすすめていこうと思います。
403 名前:Now_loading...774KB [2008/08/28(木) 22:35:54 ID:rtj/VMTN] >>397 AS3は書けないんですよね。。。これを機に勉強するようにします。。。
404 名前:Now_loading...774KB [2008/08/29(金) 04:41:10 ID:XbYxuVwl] 環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0) PCへの負荷で質問です。 ある処理を0.05秒毎にやりたいとき、その処理をフレームアクションで書いて20fpsと する時と、setInterval()で50ms毎に行う場合とでは、どちらがPCの負荷として軽く なるのでしょうか? Flash開発用PCはCore2Duoの3GBなので多少の負荷には耐えられますが、そうで ないPCの動作を考え、質問しました。
405 名前:Now_loading...774KB mailto:sage [2008/08/29(金) 07:49:41 ID:g253lIgq] >>404 負荷自体は変わらんが、ある処理が重い画面描画を伴うとかだと 当然fpsの数値が影響する
406 名前:Now_loading...774KB mailto:sage [2008/08/29(金) 14:16:15 ID:067/jyDZ] >>404 負荷がかかった場合を考えるなら、どちらが軽いかなんてどうでもいいことではなく、 実際に負荷がかかっても問題ない動きにするにはどうしたら良いかを考えた方がいいよ 想定する低スペックなPCがなくても、重い処理の代わりに適当な待機処理を時間を変えながら挟んで、 長くかかってもちゃんと動くかどうかシミュレートすればOK
407 名前:Now_loading...774KB mailto:sage [2008/08/29(金) 16:36:15 ID:ubRo66Sb] >>405-406 なるほど。さんきゅうです。
408 名前:Now_loading...774KB [2008/08/30(土) 01:12:05 ID:PuG3gNuJ] WindowsXPでFlash8-Proを使っています。 ランダムな値を監視して、それが基準値を超えたら音が鳴るようなASを書きたいの ですが上手くいきません。下は基準値を80にして、Beep音を鳴らすようにしています。 (すいません、一応ASの全文を貼りました) Sound0 = new Sound(); Sound0.attachSound("beep.wav"); // this.onEnterFrame = function() { volume0 = Math.random()*100; //0〜100の間のランダム値 // if (volume0>80) { trace("Sound0"); Sound0.setVolume(volume0); //音量はそのときのランダム値 Sound0.start(); } }; どうしたら良いでしょうか? beep.wavのリンケージは確認しています。
409 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 01:34:34 ID:6t+3clUJ] >>408 やってみたけど上手くいったよ
410 名前:408 mailto:sage [2008/08/30(土) 02:50:49 ID:PuG3gNuJ] >>409 レス有難うございます。 原因が分かりました。リンケージ確認が不十分でした。 AS上では Sound0.attachSound("beep.wav"); と書いていますが、 識別子の方に拡張子「.wav」を書いていませんでした。
411 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 16:04:46 ID:alZNorf2] よくRPGの戦闘突入にガラスが割れた感じで戦闘に入るエフェクトがあると思いますが、あれをAS(SWF7)で再現することはできますか?検索の仕方が悪いのかいくら検索してもでません。分かる方がいればお願いします。
412 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 20:50:33 ID:k46PNrWv] それはASの問題ではないと思いますが? ゲーム製作技術等で聞いて下さい
413 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 20:55:47 ID:alZNorf2] ASが分からないからこのスレで聞いているんですが・・
414 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 20:57:37 ID:DBikczHq] >>412 は頭悪杉 ゲームのエフェクトをFlashで やりたいってことだろうよ
415 名前:Now_loading...774KB mailto:sage [2008/08/30(土) 21:36:48 ID:CPmq3bky] あんなエフェクト、AS使わなくても出来るじゃん ASよりマスクを活かしたほうが楽だと思う
416 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 01:36:36 ID:jDjmDkpi] アルゴリズムの問題だからそういうスレで聞いた方が早いだろ >>415 のいうようにASじゃなくてもできるし、どちらにしてもスレ違い >>414 は頭悪杉
417 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 02:16:45 ID:z86i8kxI] マスクでどうやってやるんだ? 複数のMCが置いてある状態から 全体をガラスが割れる感じにするんだろ? BitmapとMatrix使って、 計算速度を考えるとAS3でやるのが一番で SWF7じゃBitmap使えないから無理だと個人的に思うのだが
418 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 03:10:48 ID:kEwlxsqo] てかソフト自体のエフェクト機能にそういうのあった気がするぞ
419 名前:Now_loading...774KB mailto:sage [2008/08/31(日) 13:31:58 ID:oCTpVupL] 良く分からんがパーティクル表現のこと? 検索が下手なのは、質問が下手ってのと同じだろうから、 語彙力身に着けるのが近道。
420 名前:Now_loading...774KB mailto:sage [2008/09/01(月) 00:10:48 ID:RNNFq7ev] リアルタイムでレンダリングしたものを テクスチャにして飛ばすなら Flash8でないと無理。 >>417 AS1でもAS3でもAPI内部の処理速度は同じだろ。
421 名前:Now_loading...774KB mailto:sage [2008/09/01(月) 02:08:16 ID:S42pfC23] >>420 AS1,2とAS3とではplayerのエンジンが違う
422 名前:Now_loading...774KB [2008/09/01(月) 08:44:11 ID:sqP7dL9d] 質問です。 フルFlashサイトを作っているんですが Flashファイルの1フレーム目にnoborderを記述し、htmlファイルには縦横100パーセントで設定しているんですが、自分のブラウザでみたらちゃんと縦横きれいに100パーセントで表示されてるんですが、他のブラウザで見たら大きく拡大して表示されてしまいます。 どなたかこの様な現像の解決方法をご存じないでしょうか? 宜しくお願い致します
423 名前:Now_loading...774KB [2008/09/02(火) 14:01:00 ID:P0oI6p2k] actionscriptのインクリメントで2ずつ増やす方法
424 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 16:53:33 ID:ThoXrYs6] for(i=0;i<2;i++)n++;
425 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 17:55:09 ID:INqlUf3c] >>422 Flashのバージョン 自分の使っているブラウザ名 うまく表示されない他のブラウザとはどれか ちゃんと書こうね
426 名前:Now_loading...774KB [2008/09/02(火) 17:59:31 ID:P0oI6p2k] 424どういう事ですか?nの値?? i=++i; ←こんな感じでお願いします。
427 名前:Now_loading...774KB mailto:sage [2008/09/02(火) 18:21:22 ID:ekR0fb/p] i += 2; ↑こうゆう事?
428 名前:Now_loading...774KB [2008/09/02(火) 23:09:14 ID:oiCr7SLs] 427ありがとうそんな感じ( ^∀^)
429 名前:Now_loading...774KB [2008/09/03(水) 02:32:49 ID:GoFVdVhF] 質問です。Flex 3 SDK+AS3でやっています。 public static const list:Object = { a:"xx", b:"yy", c:"zz" }; これをa->b->cの順でfor文で走査したいです。 arr:Array = ["a", "b", "c"];という配列を作って、list[arr[i]]としたら出来るのですが、 この配列を定義するのが冗長な感じがします。 何か他のやり方があれば、ご教授いただきたいです。 よろしくお願いします。
430 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 04:54:35 ID:Hu7fuEpR] >>429 キーの部分の順番付けが無いとどういう順番で表示するかわからんだろ 連想配列使うのなら冗長では無く必須
431 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 08:46:21 ID:GoFVdVhF] >>430 そうでしたか・・・。お馬鹿な質問をしてしまってすいません ありがとうございました
432 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 10:42:24 ID:ciIfMOKQ] import flash.display.BitmapData; var MainBmpData:BitmapData= new BitmapData(100,100); var main:MovieClip = this.createEmptyMovieClip("MainMC", this.getNextHighestDepth()); MainMC.attachBitmap(mcPath.palette.MainBmpData, MainMC.getNextHighestDepth(), true); この部分を、 main.attachBitmap(mcPath.palette.MainBmpData, main.getNextHighestDepth(), true); こう書くと「タイプが一致しません。」とエラーが出るのはなぜなんでしょうか。
433 名前:432 mailto:sage [2008/09/03(水) 10:44:37 ID:ciIfMOKQ] すいません。書き忘れましたがAS2.0です。
434 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 11:12:38 ID:Hu7fuEpR] >>432 何故といわれてもそのまま「タイプが一致しないから」と返すしかないだろw 引数の型をチェックするとか、traceしてちゃんと値が入ってるか調べるとか汁
435 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 11:17:40 ID:QPp3ylWS] 環境)OS:WinXP-Pro,Mem=2GB,ソフト:FlashCS3-Pro(Player9) hoge_mc.addEventListener(Event.ENTER_FRAME,function(){ /* スクリプトの記述 */ }); 質問です。 この ENTER_FRAME のイベントを removeEventListener することって可能ですか?
436 名前:432 mailto:sage [2008/09/03(水) 11:38:13 ID:ciIfMOKQ] >>434 trace(main); //_level0.MainMC trace(typeof(main)); //movieclip とくに問題ないような気がするのですが おれは何か勘違いしてるんでしょうか
437 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 13:10:56 ID:YfC11098] >>435 つarguments.callee
438 名前:Now_loading...774KB mailto:sage [2008/09/03(水) 20:14:37 ID:QPp3ylWS] >>437 ありがとうございました。助かりました。
439 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 20:34:32 ID:xNkMf3ka] AS3の文法について質問ですが、以下のようなスクリプトが例文で良く出てきます。 hoge.addEventListener(MouseEvent.CLICK, onMouseClick); function onMouseClick(e:MouseEvent):void { hogehoge.x = mouseX; //ここは何でも良いんですが } この関数名の次の引数「e:MouseEvent」について、その関数内で変数(e)を使っていないのに ほぼ毎回必ず記述されていますが、これは文法上の決まりなんでしょうか? これを書かないことで(使わないのに)、何か整合性が取れなくなるんでしょうか?
440 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 20:38:57 ID:xNkMf3ka] あと、これはどうでも良いことなのかもしれませんが、変数の宣言でintとuintだけ 頭文字が小文字なのは何か理由(とか逸話)があるんでしょうか? NumberとかBooleanとかStringとか全部頭文字が大文字なのにこの2つだけ小文字なのが気になります
441 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:19:08 ID:2QekdjO0] 軽く答えようと思ったけど、うまい説明が浮かばなかった 普通にAS3を使いこなしてるつもりでいたけど適当にやっていたようだ・・
442 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:42:03 ID:Y9QIAA7S] ECMAScript 準拠でそうなってるんだよ うん。適当に言ってみた
443 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 21:48:47 ID:TWqANbo2] AS3.0がそういう設計だからっていうこと意外に説明できるかな ttp://livedocs.adobe.com/flex/3_jp/langref/flash/events/EventDispatcher.html#addEventListener() >listener:Function ? イベントを処理するリスナー関数です。 >この関数は、次の例のように、Event オブジェクトを唯一のパラメータとして受け取り、 >何も返さないものである必要があります。 >function(evt:Event):void
444 名前:Now_loading...774KB mailto:sage [2008/09/04(木) 23:12:56 ID:Ckei/Cw6] >>439 文法上の決まりというよりは、サイト上の書き方を統一しているだけでしょう。 文法上はfunction onMouseClick():void{...としても問題なく通ります。 AS3の元となっているECMAScriptでは本来引数のない関数に値を渡すこともできますし、 その関数内で渡された引数を処理することもできるような仕様になっています。 >>440 伝統的なものです。AS3に限らず大抵の言語が何らかの言語の影響を受けて作られています。 完全なオブジェクト指向でない言語ではintやuintはクラスではありませんでした。 現在でもこれらはプリミティブ型と呼ばれ、他の型とは振る舞いが異なる場合があります。 intやuintのように伝統的な理由で小文字となってる型は、他にvoidがあります。 voidはundefinedという値のみを持つ特殊な型ですが、これも由来は他言語です。
445 名前:439=440 mailto:sage [2008/09/04(木) 23:28:48 ID:xNkMf3ka] レスくださった方ありがとうございます。 慣習や伝統的な意味合いが強いんですね。勉強になりました。 確かに使わなくても引数を書いておいた方が、その関数がどこから 呼ばれているのかを探すときにわかりやすいような気もします。
446 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 00:46:40 ID:eL48yTkR] >>444 書かなくてもコンパイルは通った でもイベント起きなくなった
447 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 03:15:41 ID:emEZhJKX] いいオチだw
448 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 03:22:36 ID:L+1/upAK] そりゃイベントディスパッチャに渡すeventがなければ メッセージ走らんだろう。
449 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 06:06:58 ID:vaVogdaU] >>446 書き方が悪かっただけじゃないですか? 今手元で簡単に試したけどコンパイルは通るしイベントも起きます。 というかこの書き方で動かないようじゃECMAScript準拠が嘘になっちゃう。 >>448 この場合、関数定義での仮引数はあくまで仮引数であって、 EventDispatcherに渡すeventオブジェクトの実体作ってるわけじゃないですよ。
450 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 06:15:43 ID:vaVogdaU] ついでに書けば>>444 に書いてあるように引数のない関数を登録しても、 値はちゃんと渡されるのでargumentsを使えば普通にeventにアクセスできます。 ・・・わりと一般的な知識だと思ってたので>>446 見てちょっと焦ったw
451 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 11:11:36 ID:eL48yTkR] >>446 なんか書き方悪いのかな・・・?俺も動きそうな気はするんだけど これではイベント起こらない。e:MouseEventって書いたら起きる ちなみにFlex SDK 3.1 AS3.0 public class Main extends Sprite { public function Main():void { var sp:Sprite = new Sprite(); sp.graphics.beginFill(0xaaaaaa); sp.graphics.drawRect(100, 100, 200, 200); sp.graphics.endFill(); sp.addEventListener(MouseEvent.CLICK, spClickHandler); addChild(sp); } private function spClickHandler():void { FlashConnect.trace("mouseclick"); } }
452 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 12:00:01 ID:q/gLz4Ls] as1での質問です。 変数を含むムービークリップのフレーム数を取得したり 指定したフレームへジャンプさせたりしたいんですが for(i=1;i<=5;i++){ tellTarget("/inu"+/:i){ trace(_currentFrame); gotoAndPlay(12); }; こういった書き方では出来ないんでしょうか? 初歩的な質問で申し訳ないですが、どういう事を 勉強すればいいかなどでも教えていただければと思います。 今まではthisを使っていたんですがflashlite1.1用なので 使えないみたいで…よろしくおねがいします。
453 名前:452 mailto:sage [2008/09/05(金) 12:52:47 ID:q/gLz4Ls] 452の質問をした者です。 もしかして、flash4の段階では telltargetのターゲットに変数を入れることは出来ないんでしょうか…。
454 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 15:07:56 ID:Sp68lRAI] FlexBuilder3でFlex3での質問です。 カスタムコンポーネントで設定した関数から 親コンポーネントの関数を呼びたいのですが、どうすればよいのでしょうか? parentDocument とか parentApplicationとか使ってみたのですが 目的が違うもののようです。 よろしくお願いします。
455 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 16:03:35 ID:VQ75W2pK] >>452 CS3のドキュメントみたら 「Flash Lite でストリングを連結するには、次の例に示されているように add 演算子を使用します。」 とのことなので tellTarget("/inu" add /:i){ FlashLiteはよく知らんけど、試したところ一応これで動いた
456 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 16:25:57 ID:0c6OXxbY] >>454 よくわからんけど単純にparentでは駄目なの? 親の方でaddChildしてからじゃないとnullだけど。
457 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 17:19:00 ID:hym4ZNm2] 親の表示リストに含まれている場合は " 子オブジェクト.parent "で親オブジェクトが呼ばれるはずだけどね
458 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 17:32:07 ID:Sp68lRAI] >>456 ,457 返答ありがとうございます。 parentでもだめなんですが、何か根本的な勘違いをしていそうな気がしています。 もう少し調べてみます。 ありがとうございました。