- 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
- 762 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 14:12:42 ID:igoSSjzu]
- >>761
あ、そんな感じです。サーバプログラムとflashクライアントですか……ちょっとわかりません。 申し訳ありませんがもう少し詳しく説明してもらえないでしょうか?
- 763 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 14:36:25 ID:xljkzCkT]
- >>762
逆に現時点で何がわかりますか?ASは?PHPは?DBは?FMS/FCSは? やりたいことは別として、基本的なことから理解していかないと、このレベルのFlashを作るのは難しいと思う。 それくらい広い範囲の知識がないと実現できない構想です。
- 764 名前:Now_loading...774KB [2008/10/08(水) 14:43:15 ID:VeBvuOje]
- mime知らんでニコニコみたいなの作りたいとか言ってた奴じゃねーのどーせ?
そいつもうほっとけ。キリないわ
- 765 名前:Now_loading...774KB [2008/10/08(水) 14:45:57 ID:VeBvuOje]
- ボクちゃんは1冊本買って読んでね
ニコニコのクライアントの作り方みたいなの、AIRの紹介本かなんかでのってたような気がするから、それ丸写ししてくれ
- 766 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 14:49:58 ID:igoSSjzu]
- >>763
使える物はASとPHPです。データベースもある程度は出来ます。PHPは掲示板を作る事くらいは出来ます。 足りない知識は補っていくつもりです。何とかして作りたいのです…
- 767 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 15:11:44 ID:gmvy7wkk]
- つか、広範囲な知識が必要っていわれてるように、ここで全部を詳しく説明なんて無理。
いわれたキーワードや本なんかを参考にすすめていって、もっと問題点が絞り込まれた段階で 質問したほうがいい。
- 768 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 15:14:37 ID:jk5368hO]
- AS2.0でゲームを作っています
点数をとると画面下に並べているMCの色が変わり、点数を表示するようにしています。 ■■■■□□□□←こんな感じです。 各四角のMCにインスタンス名mark1〜30までを付け、 四角をまとめたscoreGroupe_mcに onClipEvent (enterFrame) { if (_root.seikaiNum == 1) { this.mark1.gotoAndStop("on"); } } と書き、四角の色を変えて表示させています。 今のところ、上のスクリプトを 1〜30まで書き連ねることで表示としては出来ているのですが これを、簡潔にする場合はどのようにしたらいいのでしょうか? よろしくお願いします
- 769 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 15:46:12 ID:gmvy7wkk]
- >>768
markに連番ついてるならforループで処理すればいいと思うが、 seikaiNumの値とonにするmarkの数が対応しているなら、 seikaiNumの値が増減する時に、 this.scoreGroupe_mc["mark"+String(_root.seikaiNum)].gotoAndStop("on"); みたいにして表示を増やしていけば、enterFrameいらないと思う。
- 770 名前:Now_loading...774KB [2008/10/08(水) 16:18:02 ID:iD7k9kcY]
- 24時間耐久10分でフラッシュを作れ!
┏━┓ ┏━┓ ┏━┓ ┏━┓ ┏┛┏┛ ┏┛ ┃ ┏┛ ┗┓ ┏┛┏┛ ┏┛┏┛ ┗┓ ┃┏┛┏━┓┗┓ ┏┛┏┛ ┏━┛ ┗━┳┓ ┃ ┃┃ ┃ ┃ ┃┏━┛ ┗━┳┓ ┗━┓ ┏┳┛┃ ┃ ┃┃ ┃ ┃ ┃┗━┓ ┏┳┛┃ ┃ ┃┗┳┻┓ ┏━┳━━┓ ┃ ┃┃ ┃ ┃ ┃ ┃ ┃┗┳┻┓ ┏━┳━━┓ ┃ ┃┏┻┓┗┓┏┛┏┛┏┓┗┓┃ ┃┃ ┃ ┃ ┃ ┃ ┃┏┻┓┗┓┏┛┏┛┏┓┗┓ ┃ ┃┃ ┃ ┗┛ ┃ ┗┛ ┃┃ ┃┃ ┃ ┃ ┃ ┃ ┃┃ ┃ ┗┛ ┃ ┗┛ ┃ ┃ ┃┃ ┣┓ ┏┫ ┏━━┛┃ ┃┃ ┃ ┃ ┃ ┃ ┃┃ ┣┓ ┏┫ ┏━━┛ ┏┛┏┛┃ ┃ ┃ ┃ ┃ ┃┏━┓┃ ┃┗┓┗━┛┏┛ ┏┛┏┛┃ ┃ ┃ ┃ ┃ ┃┏━┓ ┏┛┏┛ ┃ ┃ ┃ ┃ ┗┓┗┛┏╋┛ ┗┓┗┓ ┏┛ ┏┛┏┛ ┃ ┃ ┃ ┃ ┗┓┗┛┏┛ ┗━┛ ┗━┛ ┗┛ ┗━━┛┗━━━┛ ┗━┛ ┗━┛ ┗━┛ ┗┛ ┗━━┛ ┓┏┓ ┓ ━┓ ┏┓┏┓ ┏┓┏┓ ━┓ ━┓ ┏━ ┏━┓ ┃┃┃ ┃ ┏┛ ┃┃┃┃ ・ ┃┃┃┃ ┏┛ ━┫ ・ ┃ ┃ ┃ ┃┃┃ ┃ ┃ ┃┃┃┃ ・ ┃┃┃┃ ┃ . ┃ ・ ┗┓ ┗━┫ ┻┗┛ 月 ┻┗━ 日 ┗┛┗┛ ┗┛┗┛ ヨリ ┗━ ━┛ .━┛ .━┛ マデ 参加者(Flash制作者・お題投下者・観覧者)募集 現行:pc11.2ch.net/test/read.cgi/swf/1206509015/
- 771 名前:Now_loading...774KB mailto:sage [2008/10/08(水) 16:18:20 ID:jk5368hO]
- >>769
今ちょうど、上に書かれている事をやってみている最中でした! 変数_root.seikaiNumをMc名にくっつけるところで悩んでいたので とても助かりました ありがとうございます!
- 772 名前:Now_loading...774KB [2008/10/09(木) 03:23:29 ID:aP0WSrHE]
- as3です。
クラスメソッドが、呼び出し元のオブジェクト(外部クラスから生成されたオブジェクトです) を参照する方法ってありますか? ※引数を渡す方法ではなく、無名関数のときのarguments.calleeみたいなものがあるかなと
- 773 名前:Now_loading...774KB [2008/10/09(木) 05:31:20 ID:j0D+PJKY]
- >>772
call()使えば?
- 774 名前:Now_loading...774KB mailto:age [2008/10/09(木) 16:07:37 ID:TmP9ojJa]
- ActionScript3.0のイベント一覧&解説ページとか無いですか?
Event.ENTER_FRAME は フレーム毎によばれます。とか書いてあるページ
- 775 名前:Now_loading...774KB [2008/10/09(木) 16:18:14 ID:sPljUQk0]
- 質問です。
FLASH8 professionalを使用しています。 マウスの動きに合わせて画面を動かしたいのですが、どうしたらいいですか? www.okayama-ichibangai.co.jp/ こんな感じです。
- 776 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:20:33 ID:8zCQcoK/]
- >>774
イベント関連の定数の使われ方って実は EventDispatcher派生クラスによって微妙に違うよ さすがにEvent.ENTER_FRAMEとかはどのクラスでも一緒だけど なのでまずEventDispatcher派生クラス側のリファレンスから調べた方がいい
- 777 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:25:47 ID:Kp/E7F/l]
- >>774
ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/events/Event.html ttp://d.hatena.ne.jp/antivivi/20071102 ぐぐってみたらこんなんでてきた。上は関連項目のリンクまでたどると吉。
- 778 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:29:46 ID:DCHKzhYs]
- AAAというmcを配置して外部swf(BBB.swf)を読み込ませているのですが
外部swfの特定のフレーム(ラベル:CCC)に飛ぶ、というアクションを実現させたいです。 現在は、フレームに AAA.loadMovie("BBB.swf"); と書いています。 前述のアクションを実現させるには、どのようにすれば良いでしょうか?
- 779 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:35:39 ID:jZliTI6n]
- >>778
ロードするとAAAの内容がBBBになるから、AAAに対してCCCへ飛べって命令する。 ただしロード完了(少なくともBBBフレームの読み込み完了)まで待つ必要がある。 MovieClipLoaderが使えるバージョンならそっちを使うことをすすめる。
- 780 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:36:27 ID:ewoo5v+p]
- そもそもBBB.swf読み込めてる?
- 781 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 16:58:02 ID:DCHKzhYs]
- 回答ありがとうございます。
>>779 AAA.loadMovie("BBB.swf"); AAA.gotoAndPlay(CCC); としてみましたが、動作しませんでした。 >>780 読み込み自体は問題ないです。
- 782 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 17:06:22 ID:jZliTI6n]
- >>781
本当に読み込み完了を待ってから実行してるのか? まさか続けてその二行を書いたんじゃないよな?
- 783 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 17:19:00 ID:ewoo5v+p]
- // SWF7以上? AS1.0以上 AS2.0以下
var listenerObject = { onLoadInit:function( mc ){ mc.gotoAndPlay("CCC"); } }; var movieClipLoader = new MovieClipLoader(); movieClipLoader.addListener( listenerObject ); movieClipLoader.loadClip( "BBB.swf" ); // SWF6 AS1.0 AAA.loadMovie( "BBB.swf" ); AAA.onLoad = function(){ this.gotoAndPlay( "CCC" ); }; 作業中なので構文チェックすらしないけど、何かしらエラー出たり動作しなかったら自分で解決してね。ヒントにはなると思う
- 784 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 18:13:46 ID:DCHKzhYs]
- >>783
どうにか動作させることができました。 ありがとうございます。
- 785 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 21:11:58 ID:eWUWIMFi]
- >>775
_xmouse、_ymouseでマウスの位置を取得する
- 786 名前:Now_loading...774KB mailto:sage [2008/10/09(木) 21:15:05 ID:HOE20Wv+]
- loadClipでAAA指すのわすれてるや
- 787 名前:Now_loading...774KB [2008/10/10(金) 11:40:13 ID:jEdfFmam]
- actionscript3で、配列array1[0〜4までbitmapが入っている]という状態で
A: var array2:Array = new Array(); array2 = array1; というのと B: var array2:Array = new Array(); for(var i:int=0; i<array1.length; i++) { array2[i] = array1[i]; } というのがありますが、この二つは結果は違うのでしょうか? やりたい処理はbitmap含めた配列array1のコピーでは無く 配列array2を使ってarray1の中にあるbitmapを参照したいのですが for(var i:int=0; i<array2.length; i++) { array2[i].alpha = 0; } 上のAとB、どちらの方法が正しいのでしょうか?
- 788 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 12:08:27 ID:Hiz0rQXM]
- >>787
おそらく適切なのはこうです。 var array2:Array = array1; これでarray2はarray1を指すようになります。 Aの場合、newした領域は使われません。 array2 と array1 は全く同じArrayオブジェクトを指すようになります。 つまり、最初に書いた記述と等価です。 Bの場合array1[i]はarray2[i]と同じ物を指すようになりますが、 Arrayオブジェクトそのものは別物です。 例えば、後でarray[0].alpha = 0.5としたときは、A,Bいずれの場合もarray2[0].alpha は0.5となります。 しかし、array1[0] = hoge; としたとき, array2[0] は Aの例ではhogeを指しますが、 Bの例では元のbitmapを指したままになります。
- 789 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 13:13:32 ID:jEdfFmam]
- >>788
丁寧な解説ありがとうございます 結構複雑な事だったんですね・・・ AとB双方の違いは A:array2がarray1そのものになる(array2のメモリ消費無し) B:array1と別物のarray2(中身はarray1の中身の参照)が作られる といった感じでしょうか また調べてみたいと思います
- 790 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 13:20:11 ID:386dzPr4]
- 脱出ゲームでただ画面を切り替えるだけではつまらないので、切り替える際に部屋が回転するアニメーションをつけたいのですがどうすればできるでしょうか?
xscaleとか使ってみましたがうまくいきませんでした swf6ですよろしくお願いします
- 791 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:43:18 ID:+XhY3/+g]
- >>790
回転するアニメーションを自力で描くか、3Dソフトでレンダリング ただ、プレイする側からすると回転とかのエフェクトはそれほどいらん。 その努力を内容に向けるほうが評価はあがると思われる。
- 792 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:44:03 ID:Lg+DE3dz]
- >>790
意味不明でございます そもそも部屋って何? 大体何がやりたいか想像できるけど、そんなんじゃ説明のしようもない
- 793 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:46:58 ID:386dzPr4]
- >>790
なるほど大変そうですね… 参考になりました!内容を重視したいと思います ありがとうございました
- 794 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 15:47:38 ID:386dzPr4]
- すみません>>791でした
- 795 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 19:53:20 ID:h+heZ6CA]
- AS2で初めてスクリプトを作ってます。
MovieClipを配置して、トゥイーンを使ってアルファ値を0から100に あげていき、フェードインするようにしています。 このMovieClipのattachBitmapを使用してビットマップを読み込んで フェードインさせたいのですが、attachBitmapを使用するとフェードイン してくれません。 やりかたが間違っているのでしょうか。 よろしくお願いします。 import flash.display.BitmapData; var bmp:BitmapData = BitmapData.loadBitmap("image"); map.attachBitmap(bmp,2); map._width = bmp.width; map._height = bmp.height; map._x = 0; map._y = 0;
- 796 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:10:56 ID:+XhY3/+g]
- >>795
いまいち構成を理解してないが、その場合はattachMovieを使うんじゃないのか?
- 797 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:19:26 ID:h+heZ6CA]
- 回答ありがとうございます。
早速、試そうとしましたが、 attachMovieを使うと、別のインスタンスとしてMovieClipができるので シーンに割り当てたトゥーイーンがうまく動いてくれないみたいです。 よろしくお願いします。
- 798 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:49:23 ID:+XhY3/+g]
- >>797
すまんが、何がどこにいくつあり、どういう順番で、どういうことを目指しているのかわからん。 モーショントゥイーンでアルファ値を変更させたMCがあるとして、それをどうしたい? そこに別のMCをクロスフェードしたいのか、トゥイーンするMCのほうを別のMCに重ねたいのか そのへんもっと詳しく。
- 799 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 20:58:47 ID:h+heZ6CA]
- >>798
説明が下手でごめんなさい。MCは1つだけです。 まず、ASを使用せずにMCを1つ配置して、30フレームくらいかけてアルファ値を0から100にしています。 これだけで動作させると意図したように動いてくれます。 このMCにスクリプトを使用して、動的にビットマップを変えて、再生できればと考えました。 そこで、1フレーム目に、このMCにattachBitmapを使用してビットマップを取り込むように したのですが、再生すると最初からビットマップが表示された状態(アルファ値が100?)で フェードインしてくれません。このようなことはできないのでしょうか。 よろしくお願いします。
- 800 名前:Now_loading...774KB mailto:sage [2008/10/10(金) 22:30:39 ID:Lg+DE3dz]
- >>799
attachする場所が間違ってる予感・・・ map ←ムービークリップ └sym1 ←トゥウィーンさせるムービークリップのインスタンス で、bmpをsym1にattachすればトゥイーンが動くはず mapにattachしたらそれは当然最初から100%で表示される
- 801 名前:Now_loading...774KB mailto:sage [2008/10/11(土) 15:35:16 ID:2PVL4LOp]
- >>800
ご指摘の通り、mapにattachしていました。 mapの下に、ムービークリップを作成していなかったので、新たに作り、そのムービークリップに attachするようにすると動作しました!ありがとうございました。
- 802 名前:Now_loading...774KB mailto:sage [2008/10/12(日) 01:42:00 ID:x/5YdeJh]
- AS3でステージサイズが変わったときにhogeMCの大きさを合わせるという処理なんですが、
コンストラクタで初期表示時にもhogeMCの大きさを変えたいんです。 でもstageResize(e:Event)の引数に何を渡して良いのか分かりません。 よろしくお願いします。 //コンストラクタ public function Main():void { stage.addEventListener(Event.RESIZE, stageResize, false, 0, true); stageResize(ココが分からない); } //hogeMCリサイズ private function stageResize(e:Event) { hogeMC.width = stage.stageWidth; hogeMC.height = stage.stageHeight; }
- 803 名前:Now_loading...774KB mailto:sage [2008/10/12(日) 09:45:00 ID:igvFLrbe]
- >>802
初期処理とリサイズ時を同じ処理でやりたいなら、リサイズイベントを発行するとかじゃね
- 804 名前:Now_loading...774KB mailto:sage [2008/10/12(日) 10:08:25 ID:wWTa/+9f]
- stageResize(new Event("dummy"));
って事でしょ
- 805 名前:Now_loading...774KB mailto:sage [2008/10/13(月) 23:44:57 ID:ByP/fX7b]
- 配列について質問です。
配列A、配列Bを宣言して Aに要素aを入れます。 そしてそれをBに入れてBの要素aに変更を加えると 元の配列Aの要素aにも影響が出るものなんですか? つまり、 A[0]=a B[0]=A[0] B[0]+=b →A[0]=ab B[0]=ab となってしまうのですか?
- 806 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 04:47:51 ID:DhQ1dHTE]
- ちょっとActionScriptの範囲から外れてしまうのですが、ゲームの
スコアなどをクッキーで保存しようと思っています。 大学などでログインしてパソコンを使う場合、クッキーはそのユーザーの 環境ごとに保存されると考えていいのでしょうか? 同じパソコンを何人かで使用した場合、前に使用した人の クッキーの内容になってしまうのかと気になってしまったので。
- 807 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 06:39:04 ID:O9YM+h8s]
- >>805
元の配列というか、プリミティブかリファレンスかを理解した方が良いと思うぞ >>806 winとかなら当然ログインユーザー別に保存されるでしょ
- 808 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 12:00:45 ID:6opIN5hS]
- >>805
わかりやすく答えると、数値や文字列ならA[0]には影響しません。 A[0]="a" B[0]=A[0] B[0]+="b" trace( A[0], B[0] ) // a ab >>806 oshiete1.goo.ne.jp/qa2216782.html
- 809 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 16:46:43 ID:DhQ1dHTE]
- >>807
ありがとうございます! 安心しました
- 810 名前:Now_loading...774KB mailto:sage [2008/10/14(火) 23:28:07 ID:e7/kCBGm]
- >>807-808
解答ありがとうございます。 でもどうにもtraceを3つ挟んで調べても 配列Bから配列Aを変更しているような気がします。 情報の小出しで申し訳ないのですが配列は2次元(?)かつ複数の変数を持っています。 A[0]="a","b","c" trace(A) //a,b,c B[0]=A[0] trace(A) //a,b,c B[0][0]+="1" trace(A) //a1,b,c といった感じでお手上げです。 C言語を本当にすこーしですがやっていて、ポインタとかそこらへんの話のからみで 配列Bに配列Aのアドレスが入ってて、同じところを参照して 書き換えるからこんなことが起きるのかなって思ってます。 見当違いかもしれませんが、解決策などあればお願いします。 あと必要な情報とかあれば言ってください。お願いします。
- 811 名前:805 mailto:sage [2008/10/14(火) 23:29:09 ID:e7/kCBGm]
- 追記
プリミティブかリファレンスかはよくわかりませんでした>< リファレンスは参照・・・? プリミティブは・・・orz
- 812 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 00:47:48 ID:ZgzCUj7J]
- >>811
それは代入してるのが文字ではなく配列(Arrayオブジェクト?)だからです。 A ="a","b","c" B[0] = A[0] //A[0]は a,b,cを要素とする配列 C[0]="a" D[0]=C[0] //C[0]はStringオブジェクト > プリミティブかリファレンスかはよくわかりませんでした>< ■プリミティブ(正確にはプリミティブデータ型)は単一のデータだけを表す型の事です。 AS3の場合Boolean型、int型、Number型、String型、uint型、void型がこれにあたり、 これ以外は全て複合データ型と呼ばれます。 ■リファレンスとはその名の通り参照のことで、実際にデータをコピーすることなく同じオブジェクトを指す手法です。 var A:Array = B; とすれば、AとBは全く同じ物となります(Aに変更を加えればBにも反映する。逆もしかり。) C++をやっていれば CHoge &hoge1 = hoge2; と同等だと理解して問題ありません。(&はアドレス演算子ではありません)。 で、ここが重要なのですが、AS3では、プリミティブデータ型を除いて、全ての代入は参照で行われます。 なので冒頭のような結論となるのです。 蛇足ですが、>>807の > プリミティブかリファレンスかを理解した方が良いと思うぞ という表現は、代入する物がプリミティブデータ型か複合データ型により 値コピーか参照コピー(リファレンス)か変わるので、この辺りから理解せよという意味。 あとASのバージョンは明記してね。
- 813 名前:805 mailto:sage [2008/10/15(水) 01:09:54 ID:fmxR55Q/]
- >>812
ご丁寧な解説ありがとうございます。うまくいきました! つまり複数(配列など)を入れると参照、単一(要素1個)を入れるとコピーとなるのですね。 あ、あとAS2.0です。すみません
- 814 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 01:41:00 ID:0LYmPxA0]
- as3なんですが、FLVをムービーで全画面再生すると、
非常に頻繁に止まってしまいます。一度止まると再読み込みするまで 再生が開始されることはないのですが、 これって全画面でメモリ不足になって、再生をとめてるってことですか? よく大画面で映像を流しているサイトとかありますが、 あれはどうやって止まらないようにしてるのでしょうか?
- 815 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 11:23:33 ID:ZgzCUj7J]
- >>813
> 単一(要素1個)を入れるとコピーとなるのですね。 ううむ。上にも書きましたが、 Boolean型、int型、Number型、String型、uint型、void型のいずれかの場合はコピーで, それ以外は「単一」だろうと参照です。 まあ細かいことは問題視してないみたいなので、いつか詰まったら思い出してみて下さい。
- 816 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 16:03:51 ID:i/0qFVUW]
- CS3でAC2.0を使っています。宜しく御願いします。
mcをattachMovieで縦8列横8列に複製し、そのmcを配列に保存させ、 二次元配列で、mcの位置を取れるようにしました。 そして上下左右にあるmcの状態によって、中央のmcに反応が起きるというのやりたいのですが どうも上手く行きません。角度は4種類に設定してあります。 手始めに、角度で反応が起きるようにして、複製元のmcにこう書きました。 this.onEnterFrame = function(){ if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == -180){ this._rotation +=30 ; } if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == 90){ this._rotation +=30 ; } if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == 180){ this._rotation +=30 ; } if(_root.matrix[this.matrix_x][this.matrix_y]._rotation == -90){ this._rotation +=30 ; } } 上手くいっているならずっと回転している状態になります。 しかし、mc0,mc9,mc18,mc27…と斜めに連なるmcだけが無反応で、 それぞれ元の角度+30になって止まっているようで、どうしたら良いのか解りません。 解決法が解る方、いましたらどうかお願いします。
- 817 名前:805 mailto:sage [2008/10/15(水) 18:12:25 ID:fmxR55Q/]
- >>815
はう。すみません。 心に留めておきます!丁寧な書き込みに感謝
- 818 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 02:38:32 ID:3jCI8uKj]
- >>816
_root.matrix[this.matrix_x][this.matrix_y]ってthisからみてどの方向のMCを指してるの?
- 819 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 07:34:51 ID:Z/jwgV+K]
- >>818
レス有り難うございます。 _root.matrix[this.matrix_x][this.matrix_y] = thisです。 今は動作確認なので、thisにしていました。解りやすいので。 これに+1や-1で四方向のmcがとれるようにしました。そこは問題なく動くのですが、 ifに書いてある式が悪いようで、mc0,mc9,mc10...の斜めに連なるmcが動かないのです。 書き込んだ後、色々試してif文の条件がおかしいことに気がついたのですが、 何がおかしいのかわからず…。 別の文にしてみたら動いたのですが、(this > _root.matrix[this.matrix_x+1][this.matrix_y] など) どうしても角度に==の条件文だと斜めのmcが動きません。
- 820 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 07:43:03 ID:/V5uutGU]
- thisにしていましたって、そのthisが何を指してるかちゃんと考えてるのか?
- 821 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 08:17:07 ID:Z/jwgV+K]
- >>820
大丈夫です。
- 822 名前:821 mailto:sage [2008/10/16(木) 08:38:33 ID:Z/jwgV+K]
- >>818,820
追記です。自己解決できそうです。 レスどうも有り難う御座いました。説明が下手ですみませんでした。 以後気をつけます。
- 823 名前:Now_loading...774KB [2008/10/16(木) 12:18:43 ID:VbVmHazC]
- AS2で質問です。
ダイナミックテキスト*複数行*をステージに配置して、 変数で、文字列を表示させてるのですが、 例えば、aaa aaaaaaaaという値を拾ってくると、 スペースの所で改行がはいります。 本来ならば、ダイナミックテキストの端で改行したいのですが いい方法ありますか?
- 824 名前:Now_loading,..774KB mailto:sage [2008/10/16(木) 16:01:21 ID:wFuhxEhb]
- AS2で質問があります。
flashで自作のペイントツールを作りました。それで、そのツールを使って今度は簡単なアニメーションを 作れるツールを作りたいのですが、いくつか問題があります。 まず、ペイントを保存し、再び再生できるシステムが必要です。 次に、保存したペイントを時間指定で表示するシステムがいります。これらのサンプル、もしくはヒント等 をご存知でしたら教えてください。
- 825 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 16:31:09 ID:a0R7uBIX]
- >>823
それ仕様だから無理。指定文字数で折り返したかったら、20文字なら20個TextField配置して、1文字ずつはめ込んでいくような仕組み作る >>824 基本こんなかな。Bitmapdataわかればそっちの方が絵描きさんにはウケがいいと思うよ。軽くなるし。 //コマをリストで管理 var komaList:Array=new Array() //絵の描画は描画メソッド。Bitmapdataでもいい。 for(var i:Number=0;i<5;i++){ var mc:MovieClip = createEmptyMovieClip("koma" + i,i) mc.lineStyle(5,0x000000) mc.lineTo(Math.random()*200,Math.random()*200) mc._visible=false komaList.push(mc) } //アニメーションは表示/非表示切り替え var komaIndex:Number=0 setInterval(showKoma,1000) function showKoma(){ komaList[komaIndex]._visible=false komaIndex = ++komaIndex % komaList.length komaList[komaIndex]._visible=true }
- 826 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 16:35:14 ID:a0R7uBIX]
- >>824
あと、データの保存に関しては、2.0だとめんどくさいかな。 海外のどっかにjpegに変換するクラス落ちてたと思うけど。 それ使って画像に変換して、サーバーに保存する感じになる。こっから先はサーバー側の話になるんで、ま、がんばってちょーだい。
- 827 名前:Now_loading,..774KB mailto:sage [2008/10/16(木) 17:07:24 ID:wFuhxEhb]
- >>825
丁寧な回答ありがとうございます。早速試してみますね。ありがとうございました!
- 828 名前:Now_loading...774KB mailto:sage [2008/10/16(木) 19:40:51 ID:y9KbaNwt]
- >>823
HTMLでするとかは?
- 829 名前:740 [2008/10/16(木) 22:55:46 ID:ddDl6XVr]
- >>740で質問した者です。
ほぼイメージ通りのFlashができましたので、感謝の気持ちを込めてご報告します。 みなさんのご助力が無ければおそらくできなかったでしょう。 このスレは、本当に有り難いと感謝しています。 完成品をアップしましたので、お暇でしたらご覧下さい。 book.geocities.jp/wardinfo1014/
- 830 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 01:33:04 ID:4HYr1gJc]
- 質問なのですが、
stage→Canvas→Canvas→Imageが4つ という階層なのですが、Image4つのid名をforでまわして、 sourceにurlを入れて行こうと思うのですが、 this["Image"+0].sourceなどでid名:Image0のsourceが取得できないのです。 簡単にsourceプロパティにアクセスできる方法ないでしょうか。
- 831 名前:Now_loading...774KB [2008/10/17(金) 02:12:13 ID:DniwZ842]
- 同じクラスを再帰的に呼び出してるのですが、そのクラス内でpublic定義したものの値は共有されてしまいます。
これを防ぐ方法はありますか?
- 832 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 08:09:25 ID:G1CMs+BM]
- >>830
取得できないって、パスがちがうだけだろ >>831 staticじゃなくて?
- 833 名前:Now_loading...774KB [2008/10/17(金) 08:36:52 ID:DniwZ842]
- >>832
staticにしてなくでも値が共有されるんです↓
- 834 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 08:41:52 ID:YJCeBtwN]
- 再現するコード書いてみ
- 835 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 09:24:24 ID:2pGmPzvw]
- >>825
仕様なんですね。悩んで時間を費やさなくてよかったです。 一文字単位はきついので、一行で単位でできない場合は考えて見ます。 >>828 サイトのごく一部をボタンで動的に見せる仕様ですので。
- 836 名前:Now_loading...774KB [2008/10/17(金) 10:23:40 ID:O+SWkdGa]
- AS3で長期間稼働するアプリを作成しています。
var objTimer:Timer = new Timer(1000); このように毎秒稼働するタイマーをrepeatCountの制限なしで作ったのですが、 起動から一ヵ月を少しすぎたあたりから急にタイマーイベントが起こらなくなります。 他にボタンなどのインターフェースがあるのですが、 こちらは正常に動くので、フリーズしているわけではありません。 タイマーのみが勝手に停止している状態です。 長期稼働の制限など何か心当たりのある方はいませんでしょうか? 実行環境はFireFox3上のFlashPlayer9です。
- 837 名前:Now_loading...774KB [2008/10/17(金) 11:16:03 ID:aIkNEKSp]
- ExternalInterfaceの使い方を教えてほしいのですが、
URL(http://〜swf.html?data=1)の ?data=1 を取得したい。 SWFファイルに、 import flash.external.*; this.onLoad = function() { var vardata:String = ExternalInterface.call("window.location.search").toString(); txt.text = vardata; }; と記述。 HTMLはDreamweaver8でFlashを配置。AC_RunActiveContent.jsを読み込んで表示する方法です。 サーバーにあげて、「?data=1」を表示したかったのですが、これで出力されたのは、 「undefined」 でした。 何が問題なのでしょうか。 MacOSX10.4 Safari3.1.2 FireFox2.0.0.17 Flash8pro Dreamweaver8
- 838 名前:Now_loading...774KB [2008/10/17(金) 12:03:09 ID:kMq3PIP9]
- >>836
49日でミリ秒であらわした時間が符号無し32bit値をオーバーフローするとか?
- 839 名前:704 mailto:sage [2008/10/17(金) 12:24:55 ID:qlmMU+5h]
- >>836
再現するか、今から試してみるよ
- 840 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 12:26:27 ID:qlmMU+5h]
- 名前欄の704ってとこは誤爆でした
- 841 名前:836 [2008/10/17(金) 12:39:31 ID:O+SWkdGa]
- >>838
もうちょっと早い感じです。 だいたい35日くらい。 >>839 一ヵ月以上かかりますよ? 最悪Adobeに聞くつもりですが、 サポートプログラムが最低でも数万円するんですよねー。
- 842 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 13:43:59 ID:ek57uqYL]
- 100年プリントは、100年前から実験してたんですね、わかります
- 843 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 15:35:52 ID:E1Nf9bs5]
- Flash Player 10を入れたら今まで問題なく見えてたFlashがバージョン
チェックで弾かれて見られくなったという話を聞いて調べてみました。 どうもこれに該当するようですが、MX相当のAS程度でも正常なバージョン 判定ができる方法はありませんでしょうか? (スレ違いなら誘導お願いします) [Flash Player 10 キタ━━━━(゚∀゚)━━━━!!] pc11.2ch.net/test/read.cgi/swf/1213361884/19 >19 :Now_loading...774KB:2008/06/17(火) 17:51:34 ID:s67om73J >公式のこのスクリプトが発端かも? >$version による Flash Player バージョンの検出 >ttp://support.adobe.co.jp/faq/faq/qadoc.sv?228684+002 〜上記の判定結果〜 playerVersion:WIN 6,0,21,0 majorVersion:6 minorVersion:21 ※期待していたバージョン判定の結果 WIN 10,0,12,36
- 844 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 16:37:51 ID:YJCeBtwN]
- >>843
それプレビューの時のデバッグ用プレーヤーでしょ? 結果をテキストフィールドにでも表示できるようにして、パブリッシュしてブラウザで表示してみ 面倒なら「変数」に「$version」としたテキストフィールド置いてブラウザで確認してみ バージョン判定用の数値を得たいなら、trace(int($version.split(" ")[1].split(",")[0]))とかでいいんじゃね?
- 845 名前:Now_loading...774KB [2008/10/17(金) 17:46:48 ID:MkomTyt1]
- AS3でムービークリップをキーボードで動かしたいのですが、
this.stage.addEventListener(KeyboardEvent.KEY_DOWN,moveSama); this.stage.addEventListener(KeyboardEvent.KEY_UP,moveSama); function moveSama(event:KeyboardEvent):void { switch (event.keyCode) { case Keyboard.LEFT : Sama.x -= 4; break; case Keyboard.RIGHT : Sama.x += 8; break; } } としたところ(Samaはインスタンス名)、一応一度押しても押しっぱなしでも動きはするのですが 押しっぱなしにしたときの挙動が不自然で、1歩動いて停止してから連続で動き出すようになってしまいました。 AS2.0では onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT) == true) { this._x -= 4; } } と、このようにムービークリップに書き込むことで解決できたのですが、AS3.0での解決策がわかりません。 AS3.0の初心者向けの参考書も買い、Webサイトも見て回ったのですが参考になるものは見つかりませんでした。 よろしくお願いします。
- 846 名前:843 mailto:sage [2008/10/17(金) 17:51:11 ID:E1Nf9bs5]
- >>844
意図するバージョン情報が返らない件についてはおっしゃるとおり プレビュー時のプレイヤーが原因で、ブラウザから見ると期待した 内容が出てきました。 該当する「Flash Player 10では閲覧できないFlash」については、 substringでバージョンの先頭1文字抜き出して判定していたため 「10」の1文字目の「1」をバージョンと誤判定していただけでした。 教えていただいた「空白区切り+カンマ区切り」で抽出する方法で 解決できそうなので、ありがたく使わせていただきます m(_ _)m
- 847 名前:Now_loading...774KB mailto:sage [2008/10/17(金) 21:55:21 ID:V/i4DBtM]
- AS2.0での質問です。
数値の入っている配列に数値を足したら数値の型じゃなくなりました。 var = -1 // 判定 数値 A[0][0] = 100 //判定 数値 trace(1*var) //判定 数値 2元配列 A[0][0] += 1*var trace(A[0][0]) //出力 100-1 ←多分文字(数値ではない) これを挟むと前では数値なのに代入するとそうでなくなります。 どうにもこうにもこの部分が悪さをしているように思えるのですが 何故このようなことが起こるのでしょうか・・・ 解答お願いします。
- 848 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 00:17:32 ID:O3evwxYE]
- >>847
そのスクリプトでホントに動くの? varでエラー出るんですけど・・・ varA = -1; A = new Array(); A[0] = new Array(); A[0][0] = 100; trace(1*varA); A[0][0] += 1*varA; trace(A[0][0]);
- 849 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 00:59:17 ID:+3jWASp/]
- >>842
2000年問題とかはどうすんのよ
- 850 名前:847 mailto:sage [2008/10/18(土) 06:02:21 ID:taHr2dU+]
- >>848
ぁ、宣言とか省略してました・・・すみません。 でも再現とかできないんです。なので状況だけでも、、、と上記のように書きました 確かに、>>848のようにすれば問題ないのですが 問題のスクリプトではtrace挟んだところで型が変わっているようなのです。。。
- 851 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 07:23:29 ID:dvawCTvx]
- >>850
実際のソース書かないと意味無いだろ
- 852 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 10:26:06 ID:sEqBwrZa]
- >>841
1ヶ月待とうとしたら、Windows自動更新で再起動をしますか? って10分おきに聞かれてしまうから、またやり直しです。
- 853 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 10:54:20 ID:dvawCTvx]
- どうせ釣りだろうが、クライアントで1ヶ月も開きっぱなしとかあり得ないし
もしあったら、設計自体間違ってるw
- 854 名前:847 mailto:sage [2008/10/18(土) 12:16:07 ID:taHr2dU+]
- >>851
ソースって関係あるところだけじゃあ駄目なんですか? 全体だと多すぎて・・・。再現だけでもって思っても再現できなくて・・・orz すみません。。。 あの後いろいろ試したんですが ・2元配列 A[0][0] += 1*var →文字で出力 ・2元配列 A[0][0] += Number(1*var) →文字で出力 ・2元配列 A[0][0] -- →数字で出力 ・2元配列 A[0][0] -= -1*var →数字で出力 になりまして結局 += が文字結合として働いていたっぽいです。 原因不明なら -= で何とか強引にしようと思うのですが 何故この場合 += が文字結合として働いていたのでしょうか? あ、あと関係ないかもですがすぐ上にも同じような配列(配列Aの別要素;A[0][1])があって += で逆符号の同じ値を代入しているのですがそちらは何ともないようです。
- 855 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 12:27:08 ID:/detIIrw]
- 数値じゃない状態で入ってたんだろ。普通に考えて。
外部からデータ読み込んで、ちゃんとキャストしないまま配列に突っ込んだとかじゃねーの?
- 856 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 13:59:29 ID:dvawCTvx]
- 加算演算子は文字+数値の場合には文字にキャストされるでしょ
つまりA[0][0]の値によって変わる -演算子は数値にしか使われないので自動的に数値としてキャストされる あとvarは予約語なので使ってはいけない
- 857 名前:847 mailto:sage [2008/10/18(土) 14:45:31 ID:taHr2dU+]
- >>855-856
はうあ。外部データを文字と読んでたみたいです・・・ というか外部データーって書くべきでしたね。反省 読み込みの時にNumberを挟んだら無事数値として認識してくれました! 直前では数値を認識していたのでまさかでした・・・orz 型がゆるいのもまた問題かな。。。 varは書き込みミスですね^^; すみません 解答ありがとうございました!
- 858 名前:Now_loading,..774KB mailto:sage [2008/10/18(土) 16:32:57 ID:IFG6QdA5]
- すみません、以前と似たような質問になるのですが…
ペイントツールを作ったのですが、それを外部ファイルに静止画データとして 保存する方法がわかりません。どなたか詳しい方が居たら教えてください。 〜を使えばいいかも、とか〜のサイトが参考になる、といった情報でも何でもいいです。 返信待ってます。。。
- 859 名前:858 mailto:sage [2008/10/18(土) 16:52:13 ID:IFG6QdA5]
- ちなみに、以下がソースです。
//-- 空ムービークリップの生成 this.createEmptyMovieClip("view_mc", 1); //--ムービークリップに絵を描く //--線の設定 view_mc.lineStyle(3, 0x000000, 100); //--描画用のフラグをfalse view_mc.drawFlag = false; view_mc.onMouseDown = function() { //--マウスが押されたらフラグをtrueにして始点を設定 this.drawFlag=true; this.moveTo(this._xmouse,this._ymouse); }; view_mc.onMouseMove = function() { //--描画用のフラグがtrueなら線の続きを書く if (this.drawFlag == true){ this.lineTo(this._xmouse, this._ymouse); } }; view_mc.onMouseUp = function() { //--描画用フラグをFalse this.drawFlag = false; }; これに保存機能を付けたいのですが。。。
- 860 名前:Now_loading...774KB [2008/10/18(土) 20:27:13 ID:WQ4JwyBV]
- >>853
仕様で決まっていることは覆せんのですよ。 設計から関わりたかった…
- 861 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 20:50:08 ID:eyRl/r/f]
- >>860
ランタイム内の時間計算の途中でオーバーフローしてたら 対策しようがないしAdobeに問い合わせたほうがよさげ。 業務ならインシデントつかえるでしょう?
- 862 名前:Now_loading...774KB mailto:sage [2008/10/18(土) 23:23:24 ID:+ZXaVvtP]
- よくわからんけど、たまにTimerをresetしてみるとかはダメなん?
|

|