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
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でもだめなんですが、何か根本的な勘違いをしていそうな気がしています。 もう少し調べてみます。 ありがとうございました。
459 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 18:00:24 ID:vaVogdaU] >>451 それがダメなのは登録しているのが関数ではなくクラスに所属するメソッドだからです。 ただの関数として宣言したものや、無名関数は引数がなくてもイベントが起きます。 Functionクラスにも書いてありますが、メソッドと関数は厳密には別物です。
460 名前:454,458 mailto:sage [2008/09/05(金) 19:02:33 ID:Sp68lRAI] 自己解決しました。 parentAppricationのドキュメントみると Applicationを使用すると書いてありました。 やってみたところうまくいきました。 ありがとうございました。
461 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 21:37:53 ID:JJ6BJ8bT] Math.min(64, a << 1 ) の << はどういう意味ですか?
462 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 21:44:02 ID:Sp68lRAI] aを1ビット、レフトシフトしたものと、64とを比べて小さい方を返す
463 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 21:47:04 ID:Sp68lRAI] うう、ごめん。<<だけでいいのか。 <<は左側にビットシフトする。 普通は倍になるけど、32ビットからあふれたビットがどうなるかは知らん
464 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 22:10:53 ID:eL48yTkR] >>459 動きました。ありがとうございます 理由がいまいち分からないので勉強してきます
465 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 23:20:54 ID:db5vsGq7] キャリーフラグが立つ
466 名前:Now_loading...774KB mailto:sage [2008/09/05(金) 23:33:19 ID:JJ6BJ8bT] >>463 俺の入っちゃいけない領域だってことは分かったw Tks
467 名前:Now_loading...774KB mailto:sage [2008/09/07(日) 23:01:08 ID:xVVDcg5n] 携帯ゲームやデコメアニメが作りたいんですが、 何かお勧めの本ってありませんか?
468 名前:bgcolor [2008/09/08(月) 01:31:50 ID:/E5TQ3To] こんばんは、質問です。 ActionScriptでHTMLの背景色を変更したいと思っています。 外部のJavaScriptファイルをGetURLで 読み込んでくるところまで解り、 試したのですがうまくいきません。 JavaScriptファイルの記述の仕方は下記で合ってますでしょうか? (すごく短いので絶対足らないと思いますが・・・) ちなみに、FlashMX、WINDOWS XPです。 すみませんが、お教えください。 function color() { document.bgColor = "#ccffcc"; }
469 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 02:39:32 ID:lUTMFn+/] >>468 JavaScript側はそれで背景色が変わると思います 外部のjavascriptファイルってのがいまいち分からないんですが getURL("javascript:void(document.bgColor="#ccffcc")") これで出来ませんかね
470 名前:bgcolor [2008/09/08(月) 13:19:20 ID:UGN1o8eb] >>469 さま ありがとうございます!できました!! ここ何日か、本やネットを探しまくってましたが、やっと解決できました。 それで、情報が錯綜して勝手に外部のjavascriptファイル.jsファイルを 作ると思い込んでいました。ありがとうございました!
471 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 16:55:48 ID:1nbwiOuH] ずっと引っかかってる事があるんですけど var a:Array = new Array(); for (var i:uint = 0; i<100; i++) { a[i] = i; } これと var a:Array = new Array(); for (var i:uint = 0; i<100; i++) { a.push(i); } これは同じですか? 使い分けとかありますか・・・?
472 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 19:04:13 ID:MKRMzHnB] >>471 内部実装がどうなってるか分からないから確実なことは言えないけど、 普通に考えたらpushの方が実行速度は速いと思う 添字アクセスの場合、iがlengthの範囲内かチェックする処理が入った後に領域の拡張が行われると思うけど、 pushであれば範囲チェック無しで拡張が行えるわけだし ただ、配列の長さがわかってるならnew Array(100)とした後に添字アクセスした方がより良い書き方だと思う pushは数がわからないような場合に使えばいいんじゃないかな
473 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 21:20:10 ID:rwcJevZ1] そりゃ他言語の知識だろ
474 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 22:00:53 ID:o/QDWrOl] >>473 うそつけ
475 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 22:59:37 ID:VB6m8COM] ASの配列なんてObjectのhashを再利用してるだけだし。
476 名前:Now_loading...774KB mailto:sage [2008/09/08(月) 23:23:02 ID:rwcJevZ1] その通り。領域なんて考えねーし。lengthなんてチェックしねーし。 クラステーブルにアクセスしない分速いし。 つーか速い遅いで論じてる時点でおかしな話だ。
477 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 00:13:14 ID:FxLxuCwE] クリックした時に変化(A→B)するボタンを マウスを離してからも、Bのままでいるには、どうすりゃいいんですか?
478 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 00:36:20 ID:q5dEo94n] マウスボタンを押したまま、その領域を離れた場合ってことか?
479 名前:471 mailto:sage [2008/09/09(火) 00:46:33 ID:95Ww71Pl] >>472 Tks. パフォーマンステスト検証してみます。
480 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 00:55:53 ID:hSXn0beI] >>476 >配列エレメントに値を割り当てるとき (my_array[index] = value など)、index が数値でかつ index+1 が >length プロパティよりも大きい場合、length プロパティが index+1 に更新されます。 って書いてあるよ あなたが公式ドキュメントより正確な知識を有してるというなら、その通りかもしれないけど >>479 気になったから今ソース見たけどやっぱりlengthチェックして拡張処理やってた しかも添字アクセスがネイティブ(C++)で実装されてるのに対して、 pushは実装がASレベルでされてたから、直接アクセスの方が実は速いかも ソースはtamarin
481 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 01:13:19 ID:Omu1X1w5] ああ、そうか。lengthプロパティの値をチェックしなきゃならんのね。 それは配列っ「ぽく」見せるためのASの独特の処理。拡張してるわけじゃない。 もっと言えばASのArrayにとって添え字の1は文字列の「1」と対して変わらん >>475 が全て var arr:Array=[]; arr[10]=1; trace(arr.length);//11 for (var o in arr)trace("hoge"); //1回だけ表示 arr = [0,1,2] arr[10]=1; trace(arr.length);//11 for (o in arr)trace("hoge"); //4回表示
482 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 01:28:13 ID:hSXn0beI] >>481 たぶんそれは今まで信じられてきた噂ってだけじゃないかな? もしくは昔のバージョンがそうだったか。 現在のArrayの内部実装はObjectで使われるものとは別に、 数値インデックス専用のm_denseArrというプライベート配列を別に持ってて、 添え字が0以上の場合は恐らく高速化のためにそっちを使ってるみたい ま、自分も今ソース見て初めて知ったけどw
483 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 01:31:34 ID:hSXn0beI] ああ、ちなみに高速化されるのは>>471 みたいな場合ね >>481 みたいにインデックスが飛ぶ場合とかマイナスの場合は従来通り
484 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 02:14:00 ID:Omu1X1w5] >>482 お、そうなの? プリミティブと一緒に頑張ってくれてたのか そりゃ朗報だわ ちなみに信じられてる噂じゃなくて、思いっきりリファレンスにObjectを継承してる事書いてあるからw
485 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 02:36:54 ID:Ty7wfbmp] 継承してる=動作が同じ、じゃないぞ? そんなんじゃオブジェクト指向の意味ないじゃん 継承先で動作が変わってるなんてよくあること ましてやこの場合C++で書かれてる部分じゃ形式上の継承とか関係ないし
486 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 12:38:53 ID:hgoyihFv] Arrayで盛り上がってますな AS3 Flex3 var array:Array = []; array[0] = 0; trace( array.length ); array[1] = 1; trace( array.length ); array[-1] = -1; trace( array.length ); array[0xfffffffe] = 0xfffffffe; trace( array.length.toString(16) ); array[0xffffffff] = 0xffffffff; trace( array.length.toString(16) ); array[2] = 2; trace( array.length.toString(16) ); 暇な人は上から順にtraceの出力がどうなるか当ててくれ
487 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 14:13:22 ID:bLVyBvDv] 自分でやれよw
488 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 18:15:47 ID:zUyIkZud] >>486 マイナスのインデックスで高速化が働かないことは>>483 に書いてあるけど、 他にMAX_INTEGER_MASK(0xF0000000)と論理積とって引っかかるものも除外される つまりこれらは添え字に文字列を指定したのと同じような効果になる lengthはこれら文字列インデックスの数と>>482 にあるm_denseArr.lengthの合計値が返される こんな回答でいい?
489 名前:Now_loading...774KB [2008/09/09(火) 19:13:48 ID:YFM1Sy0D] 変数の_btnNameにbtn00, btn01・・・と連番ボタン名を入れていって、 それらのbuttonModeをtrueにしてやりたいだけなのですが、 _btnName.buttonModeとすると、 _btnNameという変数自体が、プロパティ名と解釈されてしまい、 btn00.buttonMode = true; のように出来ない状態です。 _btnNameの中に格納されているのは、 btn00、btn01という、ボタンの名前ですよ、というようにするにはどうしたらいいのでしょうか。。。 for(var i:uint=0; i < 6; i++){ var _btnName:String = ("btn0" + i) as String ; _btnName.buttonMode = true; }
490 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 19:25:29 ID:zUyIkZud] this["btn0"+i].buttonMode = true;
491 名前:486 mailto:sage [2008/09/09(火) 19:54:26 ID:hgoyihFv] >>487 質問ではなく、個人的に意外な結果になったので聞いてみただけっす。すんません。 解答は var array:Array = []; array[0] = 0; trace( array.length ); //1 array[1] = 1; trace( array.length ); //2 array[-1] = -1; trace( array.length ); //2 array[0xfffffffe] = 0xfffffffe; trace( array.length.toString(16) ); // ffffffff array[0xffffffff] = 0xffffffff; trace( array.length.toString(16) ); // 0 array[2] = 2; trace( array.length.toString(16) ); // 3 負の数字がlengthにカウントされない事と0xffffffffでlengthが0になるのに驚いた。常識? おまけ for ( var hoge in array ){ if( hoge is String )trace( hoge ); } // -1 // 4294967294 (0xfffffffe) // 4294967295 (0xffffffff) >>488 > lengthはこれら文字列インデックスの数と>>482 にあるm_denseArr.lengthの合計値が返される 上記だとarray[-1]してもlengthが増えないので、文字列インデックスとして使われる部分はカウントされないのでは?
492 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 20:10:25 ID:zUyIkZud] >>491 lengthの実装がreturn m_denseArr.getLength()ではなくreturn m_lengthだったから、 その辺も足したものになってると勝手に勘違いしてた ハッシュ周りは上位のScriptObjectクラスに丸投げしてArrayObjectクラスでは触ってないね 0xffffffffが使えない理由は、↓のようにコメントで書いてあった // We can NOT use 0xFFFFFFFF for this since x[0xFFFFFFFE] is a valid prop // which would make our length 0xFFFFFFFF
493 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 21:18:03 ID:E9N+ZKV7] すみません、いろいろググってみたのですが、方法がわからなかったので教えてください。 おみくじのようにランダムにフレームへジャンプするASを組みたいのですが、指定したフレームの中でランダムに飛ぶ方法はありますか? 例えば、3、136、369フレームのどれか一個に飛ぶ、という具合です。 教えていただければ幸いです
494 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 21:28:27 ID:FxLxuCwE] >>478 すみません。質問に補足させていただきます。 例えば「押すとAからBに変わる」というボタンを作ります。 そのボタンを押している間は”B”になっているのですが、 離すとまたAに戻ってしまいます。 一度クリックすると、変化したままでいるスクリプトを教えてください。
495 名前:Now_loading...774KB [2008/09/09(火) 22:52:12 ID:YFM1Sy0D] 489です。 >>490 動きませんでした。 この[]という表記方法は何なのでしょうか。 一箇所表記を間違っていました。 _btnNameの前に_btnSetというのがつきます。 _btnSetというのは、ボタンを複数梱包しているMCの名前です。 for(var i:uint=0; i < 6; i++){ var _btnName:String = ("btn0" + i) as String ; _btnSet._btnName.buttonMode = true; }
496 名前:Now_loading...774KB [2008/09/09(火) 22:53:48 ID:u4lZQ3fW] flvファイルのプログレッシブダウンロードが時々途中で止まってしまう事があるのですが、 どのような対処が考えられますでしょうか? AS2です。
497 名前:Now_loading...774KB [2008/09/09(火) 22:54:37 ID:YFM1Sy0D] 489です。 補足です。 _btnSet._btnName.buttonMode というのは、_btnNameが変数で、 その場所の値を入れ替えることで、 _btnSet.btn01.buttonMode や、 _btnSet.btn02.buttonMode というように、まとめて、buttonMode=trueにしたいという目的があります。 お助けください。
498 名前:Now_loading...774KB [2008/09/09(火) 23:11:53 ID:wI6DLpeX] CS3で gotoAndPlay の挙動が ActionScript3.0 でパブリッシュするとどうもおかしいのだが、 何か解決法はあるのかな・・・ 具体的には2フレームのキーフレームを作って3フレーム目に gotoAndPlay(1); とすると、 ActionScript2.0 でパブリッシュすると2フレームのパターンを交互に表示するループに なるのに、3.0 でパブリッシュすると gotoAndPlay で1フレーム待たされて、1フレーム 目のパターンが2回に2フレーム目のパターンが1回という繰り返しになって しまう。これだとアニメーションを綺麗につなぐことができなくってとても困るのだが・・
499 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 23:43:18 ID:q5dEo94n] >>497 よくわからないが、こうか? for(var i:uint=0; i < 6; i++){ _btnSet["btn0"+i].buttonMode = true; }
500 名前:Now_loading...774KB mailto:sage [2008/09/09(火) 23:46:24 ID:q5dEo94n] >>494 Flex3+AS3の俺がアドバイスできるのは SimpleButtonクラスとかButtonクラスを使えば出来る、と言うことぐらいだ
501 名前:Now_loading...774KB [2008/09/10(水) 00:26:21 ID:uaunU19J] 環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0) getRGB()で質問です。 root上のMC(mc1,mark1)の色を取得するため、mc1のイベントハンドラに onClipEvent (load) { trace("Color= "+this.getRGB()+", "+_root.mark1.getRGB()); } と書いたところ、 Color= undefined, undefined の表示になりました。 問題点はどこでしょうか?
502 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 00:36:16 ID:f39TfBvC] >>493 var array:Array = new Array(3, 136, 369); var rndFr:uint = array[Math.floor(Math.random()*3)]; trace(rndFr);
503 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 01:31:04 ID:xMzCU6+I] >>495 >この[]という表記方法は何なのでしょうか。 配列アクセス >>496 止まってしまう原因を解明する
504 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 01:38:44 ID:xMzCU6+I] >>501 原因はMovieClipクラスにgetRGBってメソッドがないから。 getRGBがあるのはColorクラス。 だけどgetRGBで取得できるのは 最後のsetRGB() 呼び出しで設定されたRGB値だけだから、 一度setRGBで設定しないと取得できないと思う
505 名前:493 mailto:sage [2008/09/10(水) 01:46:39 ID:7T/b55CI] >>502 御早いご返答ありがとうございます。 しかし、私はCS3は使っていますが、AS2.0の設定にして制作しておりますので、unitがエラーで表示されてしまいました。 AS3.0の設定にして、もう一度パブリッシュをすると、今度は 「警告 : ActionScript 3.0 では、ボタンインスタンスまたは MovieClip インスタンスのアクションはサポートされていません。オブジェクトインスタンスのすべてのスクリプトは無視されます。」 と表示されてしまいました。 AS2.0=unitは使えない AS3.0=ボタンが使えない となり、行き詰まってしまいました。 お手数ですが解決策がありましたら教えてください。お願い致します。
506 名前:493 mailto:sage [2008/09/10(水) 02:07:43 ID:7T/b55CI] >>502 自己解決しました!AS3ではunitですがAS2ではNumberなのですね! 教えてくださってありがとうございます。 on (press) { var array:Array = new Array(3, 136, 369); var rndFr:Number = array[Math.floor(Math.random()*3)]; gotoAndPlay(rndFr); }
507 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 02:32:19 ID:uaunU19J] >>504 さんきゅう
508 名前:Now_loading...774KB [2008/09/10(水) 10:54:42 ID:qB/ZNCv0] 489、495,497,です。 >>499 >>503 _btnSet["btn0"+i].buttonMode = true;では駄目でした。 配列アクセスを使用したときのプロパティとして当たらないということでしょうか。 TypeError: Error #1010: 条件は未定義であり、プロパティがありません。 となってしまいます。 何故でしょうか・・・・??もう一度整理すると、 _btnSetというインタンス名のMCの中に、 6つのボタンMC(btn00〜btn05※インスタンス名です)が入っています。 それら6つをまとめて、forループですべてbuttonMode=trueにしたいのです。 そこで、 for(var i:uint=0; i < 6; i++){ var _btnName:String = ("btn0" + i) as String ; _btnSet._btnName.buttonMode = true; } が駄目で、、、 for(var i:uint=0; i < 6; i++){ var _btnName:String = ("btn0" + i) as String ; _btnSet["btn0"+i].buttonMode = true; } も駄目でした・・・。いずれも同様のエラー、「条件は未定義であり、プロパティがありません」お助けください
509 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 11:08:09 ID:KqdSTiA8] >>508 とりあえずこうしたらダメでしたが延々続くだろw AS3.0の本一冊読むか、ヘルプ一通り見るかしてから来い オブジェクト指向なAS3.0は付け焼き刃じゃ何も出来ないよ
510 名前:Now_loading...774KB mailto:sage [2008/09/10(水) 11:15:06 ID:6r2RrxdQ] AS3.0なの? _btnSet.btn00.buttonMode = true; だったら意図したように動くの?
511 名前:Now_loading...774KB [2008/09/10(水) 11:47:46 ID:qB/ZNCv0] >>509 すみません、いけました! 指摘の内容、仰るとおりです。本は読んでいますが、理解がまだ追いついていません。 >>510 勘違いでした。エラーは次の行で起きていたようで、 ここのループはばっちり配列アクセスで設定できました。 大変失礼しました。ありがとうございます。
512 名前:Now_loading...774KB [2008/09/10(水) 14:29:08 ID:raTDs9XY] AS3.0にて外部から読み込んだテキストを使ってリンクを貼りたいのですが、どうしたらいいでしょうか?