1 名前:Now_loading...774KB mailto:sage [2011/12/25(日) 02:37:34.48 ID:APghLI2o] AcitonScriptのことなら 初歩的な質問でもなんでもおk 見れない、保存したい、flashを作りたいはスレ違い 下記の関連スレ、超基本的な質問へ。 ●質問する時は自分の環境を書く(AS2,AS3の別も) ●質問はものすごい勢いじゃなくて結構 ●できるだけコードも示す ●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く 前スレ ActionScript 誰かが物凄い勢いで解答するスレ29 toro.2ch.net/test/read.cgi/swf/1309349827/ 関連スレ Flashの超基本的な質問はここでしろ! part42 hibari.2ch.net/test/read.cgi/swf/1305783143/ ※初心者は↑こちら推奨 ActionScript ライブラリ総合 hibari.2ch.net/test/read.cgi/swf/1308658905/
99 名前:90 mailto:sage [2012/01/15(日) 15:35:48.05 ID:7i+f/Epu] >>98 ありがとうございました!できました 前の書き方だとOnOutしかアクセスできなくて駄目だった…ということでしょうか? アクションスクリプト勉強します 本当に有り難うございました
100 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 16:07:01.89 ID:yivFxBfV] SoundChannelはSound.play()するたびに個々の音に対応したものが作られるが >>93 ではonOutの中で新しくSoundChannelを作っていて、そっちを操作してて onOverの中で再生を始めた音の操作ができていなかった
101 名前:Now_loading...774KB mailto:sage [2012/01/15(日) 20:09:10.00 ID:3NoyEflf] >>88 ありがとうございました!いけました もうひとつ質問があります 同じくAS、CS3 ステージ上には10個のボタンが配置されており、それぞれ対応する10個のMCがremoveChildで非表示になっている 「1」のボタンを押すと「1」のMCがaddChildされ、最後のフレームまで再生されてそこでstop その状態で例えば「5」のボタンを押すと「1」のMCがremoveChildされ、「5」のMCがaddChildされ、最後のフレームまで再生され、そこでstop これの「5」のボタンを押したとき、既にステージ上に存在する「1」のMCをremoveChildさせる方法がわかりません ステージに表示されてるMCの数を取得し、1以上ならremoveChildさせる変数を 作ればいいのかなと試みたのですが、上手く動きません
102 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 00:00:33.33 ID:r7QLj38L] AS1.0のサウンドオブジェクトの再生について質問です var sound_obj = new Sound(); sound_obj.attachSound("bgm"); sound_obj.start(1.2); //1.2秒後から再生 このstart()メソッドの開始時間(1.2)はPCの処理能力によってズレたりしますか?
103 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 01:13:04.20 ID:Tk7Ev53z] >>101 削除対象を参照するMCを var sakujyoMC:MovieClip とかで定義して 予め sakujyoMC = addChildされたMC と記録しておいて、他のボタンが押された時に removeChild(sakujyoMC) とすれば? でも sakujyoMC = null にしないと本当に削除されたことにはならないよ。 >>102 AS1.0でのバッファ読み込みは分からんが、対象音源の大きさも関係すると思う。 ※AS3ならバッファ時間を指定できる。
104 名前:Now_loading...774KB [2012/01/16(月) 01:19:58.57 ID:Tk7Ev53z] チェックボックス(fl.controls.CheckBox)で選択状態を再現出来なく困ってます。 環境はFlashCS4,XP,AS3です。 MC内に4つのチェックボックス(chBox0〜chBox3)があり、それぞれは操作後に選択情報を オブジェクト(propSet)に記録します。 そして親のMCを一旦消して再度生成してステージに 置いた時に下記の記述で再現しようとしました。 chBox0.selected = propSet.linkF;// propSet.〜は trueまたはfalse chBox1.selected = propSet.commF; chBox2.selected = propSet.kasenF; chBox3.selected = propSet.boldF; しかし困ったことに、各chBoxのselectedは2つ以上true設定していると1個しか再現できません。 (※まるでラジオボタン状態) また、chBox0.selected に至っては true 設定していた場合は false で再現され、『マウスでなぞると』 本来のtrue(選択状態)になります。 つまり、●を選択状態とすると ○○●○ か ○●○○ しか再現出来ず、左端のchBox0は (MouseEvent.ROLL_OVERみたいに)マウスを上に乗せた時に記録した情報の通りに チェックマークが入ります。 問題点は @複数のチェック状態の再現 AchBox0.selectedとマウスオーバーとの関係 です。 すいませんがアドバイス願います。
105 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 02:45:22.93 ID:CHux3ODh] その説明じゃイマイチわからんな >そして親のMCを一旦消して 消したってどういう風に? フレームを移動させて静的配置のを消したのか 単にremoveChildでリストから削除したのか わからんけど最初の操作時のインスタンス変数が生きていて再度の生成時に悪さしてるような感じがした
106 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 03:40:12.15 ID:tzj2e9hg] >>103 ありがとうございます 恥ずかしながら超初心者で sakujyoMC = addChildされたMC の部分の書き方が分かりません 色々書いてみても強制変換型に失敗しました、などとエラーが出てしまいます
107 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 04:02:13.66 ID:Tk7Ev53z] >>105 レス有難うございます。 「インスタンス変数が生きていて」がヒントになり、解決できました。 問題点は、CS4のオーサリングで予め設置しておくとダメみたいで、chBox0〜chBox3は 親が生成される度に var chBoxN:CheckBox = new CheckBox(); // X,Yの位置指定 addChild(chBoxN); のようにスクリプトで設置したらOKでした。 ・・・ newするのがポイントかも。 なお、親のMCを消す際にはremoveChildを使っていますが MC = null にしていても不十分なようで CheckBoxは上記のように毎回初期化する必要があるみたいです。
108 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 04:03:45.94 ID:Tk7Ev53z] >>106 ヒント: >>88-89
109 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 12:41:55.78 ID:CHux3ODh] >>106 型変換覚えないとこの先辛いだろw ちなみにキャストよりもas演算子での型変換の方が速いそうだ var mc:MovieClip = new MovieClip(); mc.name = "abcdefg"; var obj:DisplayObject = mc as DisplayObject;//as演算子による型変換 var obj:DisplayObject = DisplayObject( mc );//キャストによる型変換 //var obj:DisplayObject = new DisplayObject();//エラー DisplayObjectはコンストラクタが無いのでインスタンス化できない //obj = mc as DisplayObject; trace("name:"+obj.name ); var sp:Sprite = new Sprite();//コンストラクタがあるクラスならインスタンス化後の型変換可能 sp = mc as Sprite; trace("name:"+sp.name ); 型変換できるかどうかはクラスの継承関係による MovieClipの親の親の親の親にDisplayObjectが あるので型変換可能 継承してないクラスへの方変換は不可能 MovieClip→Sprite→DisplayObjectContainer→InteractiveObject→DisplayObject→EventDispatcher→Object
110 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 14:04:43.86 ID:xiCkIEfm] >>106 そもそも、型が違うって状況を理解してないんじゃ? 状況を理解してないから、同じ問題に出くわしても型変換という発想にならない >>109 が親切に書いてくれているけど、それでもよく判らないなら いったんクラスの概要について、基本的な解説を読んどいたほうがいいよ 継承構造を知らないと、この先何度も同じようなとこで躓くことになる
111 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 16:38:59.80 ID:0glqET1v] >>110 横レスで補足: 継承ってのは進化というかバージョンアップと解釈できる。つまり、 旧ザグ→量産ザグ→湿地帯用ザク って感じ。 型変換にも関わるけど、同じジオンでもリックドムの動力部分をそのままアッガイに 転用しようとするとエラーになるのと同じ。 変換が必要。
112 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 19:05:25.59 ID:gA6iDCyZ] 下手な例えほど理解を妨げるものは無いな
113 名前:Now_loading...774KB mailto:sage [2012/01/16(月) 20:33:01.54 ID:JQxN1/Ms] asの方が遅えってどっかで読んだ気がしたんだけどどっちだっけ…
114 名前:Now_loading...774KB [2012/01/17(火) 15:04:04.18 ID:jhCompjR] FlashCS5,AS3,AIR2.0ですが、パブリッシュすると下のメッセージが出て困ってます。 uproda11.2ch-library.com/331375krZ/11331375.png AIRの中身は3つのコンポーネント(ボタン,テキストエリア,テキストインプット)で構成され、 ローカルのHTMLファイルを読み込んでテキスト表示し、これを別名で保存するというものです。 ※ASファイルは読み込み&開き、及び保存用の2つだけです。 CS5でのプレビューは問題なく出来ますが、AIRとしてパブリッシュしようとすると上のようになります。 試しにテキストエリアを単なるテキストフィールドにしてみても同じでした。 XMLのAIR アプリケーション記述ファイルに間違いがあるという意味のメッセージですが、このXML 自体はCS5から自動生成されるのでどうしようもありません。 考えられる原因は何でしょうか?
115 名前:114 mailto:sage [2012/01/17(火) 15:19:56.67 ID:jhCompjR] (自己レス) すいません。(確定ではないのですが)原因が推測出来ました。 ファイル名(AIR名)の先頭に半角の [ を付けていた為だと思われます。 日本語と半角(2バイト+1バイト)文字の混在自体はOKですが、先頭の半角は ダメのようです。
116 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 21:12:07.84 ID:1+mk6Te8] >>103 ありがとうございます AS3の勉強してみます
117 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 22:08:29.30 ID:kHhiCCjy] AS3でxmlから読み込んだスライドショーを作っています。cs5winxp 画像をすべて読み込んで表示したい画像をalphaで調整しています。 (ボタンを作成しボタンをクリックすると対応する画像を表示することはできました。) あとはタイマーで画像を自動的に変えたいのですがその部分がうまくいきません。エラーは出ないけど動かない状況です。 はしょってますがソースは var selectNowPage:Number = 0; // 現在表示されているページを格納する変数 //スライドショーのために用意した変数 var nn:int = 1; //関数「moveA」を定義 function moveA(e):void { if( nn == selectNowPage ){ //対応する画像を表示、それ以外を非表示 imageObject_mc.getChildByName("img"+nn).alpha = 1; selectNowPage = nn; }else{ imageObject_mc.getChildByName("img"+nn).alpha = 0; } //(ここでトレースするとnnの値は表示されます) //もしnnが写真の総枚数より少ない場合nnに1を加算 //写真の総枚数であれば1にする nn = (nn < totalCount) ? nn+1 : 1; } var tmerA:Timer = new Timer(2000,0); tmerA.addEventListener(TimerEvent.TIMER, moveA); //タイマースタート tmerA.start(); です。どこがおかしいですか。
118 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 22:18:28.62 ID:bag6xnZ4] >var selectNowPage:Number = 0; これで、 >var nn:int = 1; >nn = (nn < totalCount) ? nn+1 : 1; これでは、(nn == selectNowPage)がtrueになることはないんじゃないか?
119 名前:117 mailto:sage [2012/01/17(火) 23:11:51.44 ID:0gMwQPqH] >118 すみませんはしょってしまいました。 >var selectNowPage:Number = 0; と >var nn:int = 1; の間にXMLから画像を読み込んで表示する記述があり、はじめに表示した画像(つまりvar selectNowPage:Number = 1;)になっていました。 ややこしくして申し訳ありません。
120 名前:117 mailto:sage [2012/01/17(火) 23:16:19.46 ID:0gMwQPqH] var selectNowPage:Number = 1; ではなく selectNowPage = 1; です。さらに書き間違えてすみません。
121 名前:Now_loading...774KB mailto:sage [2012/01/17(火) 23:33:16.87 ID:bag6xnZ4] なるほどね・・・ 動作を予想すると、一回目にifの中に入った後にnnは2になるけどselectNowPageは1のままで 次にif文に入るのはnnが一周した時だな 表示したいページをalpha=1に、それ以外をalpha=0にしたいなら、 ループで回してやらないとダメなんじゃね?
122 名前:117 mailto:sage [2012/01/17(火) 23:53:12.33 ID:kHhiCCjy] ありがとうございます。 ループでやってみます。
123 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 01:43:57.65 ID:vminT5AC] AS3・CS3winXP 画面にボタンが3つ、押すとそれぞれ別の外部swfファイルを読み込ませたいです 読み込ませたい場所に空のMC、emptyを配置しておき varloader_obj:Loader=newLoader(); empty.addChild(loader_obj); btn1.addEventListener(MouseEvent.CLICK,function(event){ varurl:URLRequest=newURLRequest("1.swf"); loader_obj.load(url); }); btn2.addEventListener(MouseEvent.CLICK,function(event){ varurl:URLRequest=newURLRequest("2.swf"); loader_obj.load(url); }); btn3.addEventListener(MouseEvent.CLICK,function(event){ varurl:URLRequest=newURLRequest("3.swf"); loader_obj.load(url); }); このスクリプトだと「定義urlにコンフリクトが存在します」というエラーが出てしまいます どうすれば解決できるのでしょうか…
124 名前:123 mailto:sage [2012/01/19(木) 01:54:15.09 ID:vminT5AC] 何だか半角スペースが妙な感じに変換されてしまいました… 勿論元のスクリプトには・はついてないです あともう1つ、読み込んだMCがなぜかレイヤーの一番下で再生されてしまいます emptyを一番上のレイヤーに置いてみても変わりません 何が悪いのでしょうか
125 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 03:38:49.45 ID:L94+xSMJ] >>124 通常のWebブラウザから書き込んでるの? 2ch専用ブラウザ(無料)を使ったら? あと毎回urlを宣言するんじゃなくて。 var loader_obj:Loader = new Loader(); empty.addChild(loader_obj); // n番目の場合 ボタンがStageにあるとき this["btn"+n.toString()].addEventListener(MouseEvent.CLICK, function(event){ loader_obj.load(new URLRequest(n.toString()+".swf")); } ); では? これなら同じ様なスクリプトが1個で済む あと、レイヤーの一番下になる原因は推測できん。
126 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 04:05:00.82 ID:O2W//Sbm] >>123 いい加減な酔っ払いだけど適当に答えてもいいのかな 暇だったからコピペして「・」消してemptyっていうインスタンス名のmcとbtn1〜4作って 作業フォルダに適当なswf置いてそれをURLRequestで指定してやってみたら普通に動いたよ ASの記述他、一通り見直すしかないんじゃない? ちなみにコンフリクトが存在しますっていうのはこういうのもあるみたい↓ www.nanlow.com/blog/archives/2009/01/140124.php ただ、蛇足になるけどこの記述だけだとロードしたswfをremoveやunloadする記述がない ボタンを押せば押した数だけ同じ動画や画像がloadされて重なって表示される事になる 音声付の動画ならわかりやすいんだけど、音も重なっていくメモリもガンガン食う その都度、loader_obj.の中身を空にしてからloadしたほうがいいように思う 一番下で再生されるって言うのも言ってる事がよくわからないが そういう風にすればそういう事もなくなるんじゃない?かな
127 名前:123 mailto:sage [2012/01/19(木) 06:55:14.00 ID:eTox4xg+] ありがとうございます CS5.5で同じファイルをひらいたらエラーは出ませんでした レイヤーの一番下に配置される問題も解決できたのですが今度は別の問題が… swfファイルの座標指定が効かずとんでもない場所に表示されてしまいます この場合などんな原因が考えられるでしょうか? 空のムービークリップの位置を動かしても関係ありません
128 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 14:17:06.49 ID:Dm78EKPI] >>127 結局、ASはなにも変更してないってこと? エラーは、「同じ名前の変数を複数つくるな!」って意味 少なくとも、それぞれvar url、var url2、var url3とかにすれば エラーも出ないし、問題なく動作する まずはそこをクリアするべき この先を考えれば、>>125 や>>126 のアドバイスに従って、書き換えたほうがいい
129 名前:Now_loading...774KB [2012/01/19(木) 21:11:51.40 ID:QOnzQ8HN] AS3,XP,AIR2.0 MC(mc0)内部のLoader(loaderObj)にSWF(タイムラインの単純ムービー)を読み込んで表示 させていますが、この再生を停止・再開する方法が分かりません。 ※SparkプロジェクトのForcibleLoaderを使ってPlayer8以前のSWFも読み込めるようにしています。 var mc0:MovieClip = 対象オブジェクト as MovieClip; でキャストして出来たmc0でPlayer8 以前のSWFでは trace(mc0.loaderObj.content)は [object AVM1Movie] と表示されswf本体に アクセスできるのですが、mc0.loaderObj.content.stop() はエラーになります(下記) Player8以前のSWFでは Error #1069: Property stop not found on flash.display.AVM1Movie and there is no default value. Player9以降(AS3)のSWFでは Error #1009: Cannot access a property or method of a null object reference. どうしたものでしょうか?
130 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 21:53:03.26 ID:uX+s1HDW] テキトーなレスで申し訳ないが var mc0:MovieClip = 対象オブジェクト.content as MovieClip; mc0.stop(); でもだめ?
131 名前:Now_loading...774KB mailto:sage [2012/01/19(木) 23:46:26.59 ID:+5+GyZ+w] >>130 レス有難うございます。 「対象オブジェクト,対象オブジェクト.content」はtraceすると、[object Loader], [object AVM1Movie] となって間違いは無いようですが、as MovieClipするとnullになってしまいます。 ※AVM1Movie型を持っているが、キャストするとnullになる。
132 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 00:12:06.95 ID:qUxySH46] だただらと長かったプログラムを for文使ってすっきりさせてパブリッシュ 出来上がったファイルは元より容量が増えていた そんなもんなのだろうか
133 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:00:30.76 ID:ro6eMvMY] >>132 よくあるな モバイルFlashの時はそれで困ってたわ
134 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 01:22:55.90 ID:LTDCjMYr] >>129 ここみれ ttp://mogmet.blog20.fc2.com/blog-entry-11.html private function swfComplete(event:Event):void{ this.mc = event.currentTarget.content as MovieClip;//←これで変換されるっぽい trace( this.mc ); }
135 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 02:02:11.83 ID:ayL74Alu] >>131 自分の環境では、>>130 の方法で動作している キャストするタイミングが違うとかでないなら、そちら固有の問題 (たとえば、ForcibleLoaderなど)に原因があるのだと思う
136 名前:129&131 mailto:sage [2012/01/20(金) 08:49:58.91 ID:pWZx6SRu] >>134-135 レスさんきゅう。 対象オブジェクト.content as MovieClip; はやっぱりnullです。 しかし更に検証する、となんと実はForcibleLoaderは適用されていなくて(!)、 実際に使うと SecurityError: Error #3015 が発生し、 Loader.loadBytes() is not permitted to load content with executable code. at flash.display::Loader/_loadBytes() が出ます。 う〜ん分からん。
137 名前:129&131&136 mailto:sage [2012/01/20(金) 09:57:16.55 ID:pWZx6SRu] (自己レス) セキュリティエラーに関しては ttp://d.hatena.ne.jp/ichiro_j/20081120 を元に ForcibleLoaderのASを修正し回避できました。 しかしやっぱり 対象オブジェクト.content as MovieClip; はnullです。 一応、他の機能は実現しているのでこのまま進めます。
138 名前:Now_loading...774KB mailto:sage [2012/01/20(金) 11:16:20.09 ID:LTDCjMYr] いよお ウチでもForcibleLoader使って試してみた これは元々libsparkさんトコのじゃねーか 勝手にパッケージ簡略化してはいかんw(参照先のやつ) ウチでは問題なくMX時代のクソ古いSWFをMovieClipに変換できて stop() gotoAndStop() で制御できたお 同じようにAirでセキュリティエラーが出てその記事の修正当てたら直った ウチの環境はCS5.5 AS3 通常パブリッシュはFlash Player10.2 AirはAIR2.6だ まずは無改造でそこのURL>>134 のサンプル通りにやってみ 出来ないなら…もうわからんw
139 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 00:50:21.81 ID:5z1wOgRR] >>133 やっぱりあるんだ、やる気なくすなぁ forじゃなくてwhileとかを使った方がいいのかな
140 名前:Now_loading...774KB [2012/01/21(土) 01:27:39.90 ID:RDkx9xL3] 環境:AS3,CS4,AIR1.5 凄く単純なところでつまづいています。 dataTというテキストフィールド内の文字列全部をマウスイベントでのsetSelectionで 選択状態にしたいのですが何も選択されません。 private function _onClick(e:MouseEvent) { trace("長さ= "+dataT.length); dataT.setSelection(0, dataT.length); } traceはちゃんと文字列長を示すので、これで上手くイクはずなのですが・・・ 文字列は優に30個を越えているので試験的にdataT.setSelection(0, 30); としても 何も選択されないという不思議な症状です。 明示的にdataT.selectable = true; にしてもダメでした。 このような経験はありますか?
141 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:04:08.50 ID:N6chXOoX] >>139 ループ系は容量増えやすいからあまり変わらないと思う
142 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 09:56:49.31 ID:N+CnCGA4] AS3です MP3の音楽の再生を任意の位置で停止して、その停止した時の音を鳴らし続けたいのですが 方法を知ってたら教えてください。よろしくお願いします
143 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 14:22:21.09 ID:z+03vdra] paraflaで使える文字のサイズが小さくても読みやすいフォントってありますか? アンチエイリアスがかからないデバイスフォントがドンピシャなんですけど 環境によって使われるフォントが変わる(=デザインが崩れる)と聞いたので・・・ ビットマップフォントって使えないですよね?
144 名前:143 mailto:sage [2012/01/21(土) 14:22:38.47 ID:z+03vdra] すみません誤爆しました
145 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 15:13:47.79 ID:ut2CQ6AY] >>142 > その停止した時の音 この部分の意味と、実際に出来ることをもっと具体的に。 実際は、停止した時点で音はないと思うので おそらくは、停止した瞬間から、そのちょっと前までという短い間の音楽を ループさせたいということではないかと推測するのだが、どうだろうか?
146 名前:Now_loading...774KB mailto:sage [2012/01/21(土) 17:58:26.91 ID:pk2B3+WL] >>145 レスありがとう。その通りです 具体的に言うと、「あいうえお」という曲があって「う」の時に停止したらずっと「うーーーー」と音が出て欲しいです 今、音を止めた時のpositionから1フレームだけの再生をループさせてみたのですが うぇうぇうぇうぇ、という感じになってしまって出来なかったです
147 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 11:17:23.05 ID:ikXf6l8r] >>142 おもいつきだけどフレームレートを変えてみたらどうでしょうか。
148 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 14:42:31.96 ID:sW95RgOE] actionscript 2.0を使用しています。 test=Array["mc_1","mc_2","mc_3"]; ↑このような配列があります。 配列の中に納めたムービークリップ名を抜き出して、 使いたいと考えています。 //現在作成中のサンプル test[1].onRelease = function() { trace("test"); } ↑このままでは、何も反応が起こらない状態です。 どのような記述を行えば良いでしょうか?
149 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 15:12:49.39 ID:6eiFF332] >>148 配列アクセス演算子
150 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:03:32.16 ID:LvqEXknq] おすすめの無料効果音素材サイトはありますか? 欲しいのは コントでスリッパで「スパン!」とぶん殴る効果音 (みなさまのおかげですでチェッカーズの歌歌って殴るあの音) とか
151 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 17:25:51.20 ID:sW95RgOE] >>149 解決しました!ありがとうございます。 Flash板は5年生の先輩から教えてもらったんですが、 こんな物知りなFlash使いの人達がいる掲示板があったのは初めて知りました。 今後も利用させていただきます。 ありがとうございました!
152 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 22:36:59.79 ID:HUhtOMON] 配列アクセス演算子って何回回答したかね。 まあググれるワードじゃないから仕方ない
153 名前:Now_loading...774KB mailto:sage [2012/01/22(日) 23:03:44.85 ID:nFAGLJEL] AS3でちょっとした疑問なんだけど 親Sprite ┣MovieClip ┣Sprite ┣・・・ こういうかんじでオブジェクトをaddChildしてる時、 親Spriteだけremoveしちゃえば、子オブジェクトは全部解放されるの? それとも子オブジェクトそれぞれremoveしないと解放されない?
154 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:26:48.67 ID:jwTnhMEo] 解放というのがガベージコレクションという意味ならどちらも表示リスト外れようが他に参照持たれてたらされない 他に参照持たれてなければ親がremoveChildされた時点で子もGC対象になる
155 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 00:50:43.42 ID:SA/v59S7] >>150 出来れば俺がお前の頭を
156 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 04:06:54.92 ID:R9zntuVO] >>142 簡単なやり方だと、1つMovieClip作ってその中に、サウンドをストリーミング配置して、切りたい音のポイントごとにラベルで切るのとフラグ用に変数立てて、サウンド停止時に flag=true;みたいにする んで切ったラベルの最後に if(flag)this.gotoAndPlay(“う“); みたいにすればいけると思う
157 名前:Now_loading...774KB [2012/01/23(月) 08:38:48.65 ID:F9CY73VL] 一つのアプリケーション内で複数のstageを持つことってできますか? stage上x-y平面で動かしたオブジェクトの座標を取得して そのオブジェクトの動作を3D表示できるようにしたいです。 3Dライブラリとしてpapervision3Dを利用しようと思っていますが、 3D表示用のstageを確保しなければならないのではと思い上記の質問しました。
158 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 09:17:57.12 ID:75ziPXDc] >>154 ガベージコレクションでなくその場で即刻解放 というわけにはいかないか もう一つ質問だけど mcとかObjectはdelete使えないってのは知ってるが delete mcとかやってもエラー出ないんだけど、これは特になにも処理されてない ってことでいいのかな
159 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 10:48:17.08 ID:+vchNyJM] >>157 Stageは1個だけだい >3D表示用のstage ってのはDisplayObjectを継承した描画用クラスなら何でも可じゃないかな たぶんpapervision3Dで用意されてる >>158 deleteは参照切るだけ delete mc;実行後に参照するとnullエラーが出る
160 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 11:06:20.93 ID:+vchNyJM] すまん deleteで削除できるのは「動的に定義されたプロパティだけ」だそうだ 実行後に参照するとnullではなくてundefainedが入ってた 普通はインスタンスだろうが固定プロパティだろうがnull入れればおkなんだ deleteは単にMX時代からの遺物だね >その場で即刻解放 しないね
161 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 14:57:39.02 ID:75ziPXDc] >>160 なるほどサンクス deleteでエラー出なくて、null入れるとエラー出るといったんだけど、なんだか MC内で delete thisと入れた場合はエラー出ず 親Sprite上で delete mcとやるとエラーが出る MC内で this=nullとやるとエラー出て 親Sprite上でmc=nullとやるとエラー出ない という感じになった。 わかりそうでよくわからんが、この辺は適当にやるよ。
162 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 18:06:23.85 ID:jwTnhMEo] 上記の現象はMCはダイナミッククラスってのが関係してんじゃね 下記のは自分をnullにはできないってことで 基本的に参照切るならnullを使う 即時削除(明示的なGC)はFPでは基本的にはできない(デバッグプレイヤーなら可、裏技あり) AIRなら出来たかな ただしBitmapDataのみ即時解放ができる
163 名前:142 mailto:sage [2012/01/23(月) 18:57:55.37 ID:kekHgWc7] >>147 >>156 ありがとう。やってみたのですが、どうも「プツ」っという音が入ったりして上手くいかなかったです なので諦めました。ごめん
164 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 20:30:56.57 ID:SA/v59S7] 早期に諦めるというのも一つのテクニックだな。
165 名前:Now_loading...774KB mailto:sage [2012/01/23(月) 21:24:10.40 ID:75ziPXDc] >>162 詳しくサンクス
166 名前:Now_loading...774KB [2012/01/24(火) 00:32:00.89 ID:t+zu2/RW] spriteのrotationXorYorZを変化させると spriteのクオリティが下がってすこしぼやけた感じになってしまうのですが これは仕方がないのでしょうか
167 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 02:31:21.06 ID:VCNBilr4] >>166 それはクオリティが下がってるんじゃなくてベクタからラスタに変換されてるの。 最初から大きいベクタを用意して操作すれば、ある程度は軽減される。
168 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 12:22:35.94 ID:/jTi9mue] >>159 ありがとうございます!3D表示できました。 追加質問なのですが、>>157 の状態で各オブジェクト視点のカメラ設定ってできますか?
169 名前:Now_loading...774KB [2012/01/24(火) 14:03:20.55 ID:JFNBQGyk] CS4(AS3,Player10.0) WinXP extends MovieClip でMC化したCheckBox(チェックボックス)をメインのタイムラインの 2フレ目で出したいのですが下記エラーが出てしまいます。 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at fl.controls::CheckBox/drawLayout() at fl.controls::LabelButton/draw() at fl.core::UIComponent/callLaterDispatcher() 流れとしては、1フレ目で外部SWFを5秒間実行した後に、2フレ目でフレームアクションに var chBox:MovieClip = new CheckBox_01(パラメーター); addChild(chBox); と書いています。 クラスCheckBox_01の中身を抜粋すると var chBox:CheckBox = new CheckBox(); public function CheckBox_01(引数) { // 引数をパラメーターとして処理 chBox.label = "選択・非選択"; chBox.addEventListener(Event.CHANGE, showData); addChild(chBox);// これを無効化するとエラーは出ませんが・・・ (泣) } private function showData(event:Event):void { // 選択時の処理 } 単純にCheckBoxをステージにaddChildするのとほぼ近い記述なのですがエラーがでます。 どうしたものでしょうか?
170 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:06:47.31 ID:/J1+/BR8] できないと3Dの意味ないだろ オブジェクトの位置と見たい方向をカメラにブッ込めば可能のはず papervision3Dのヘルプ見れ 日本語のがあったはず
171 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 14:11:33.68 ID:/J1+/BR8] >>169 とりあえずデバッグモードで走らせてエラー出た行番号のコードを確認 変数が複数あるなら「デバッグパネルの変数」のとこ見てnullの変数を確認 なぜnullになるのかわからなかったらもう1回質問してくれ
172 名前:169 mailto:sage [2012/01/24(火) 20:29:22.65 ID:aJ0wywHx] >>171 レス有難うございます。 原因が分かりそうです。 通常、CS4では使用するコンポーネントを一旦ステージに置いてライブラリ化(ライブラリウインドウ内 に表示)して使用するのですが、このライブラリ化したものを一旦削除して再度ライブラリ化するとOK でしてた(つまり更新しました)。 CS4をメインで使っていますが、このところCS5も併用していたので、もしかしたらですがCS5の コンポーネントを何らかの形で(意図せずコピペしたりして)利用していたのが原因かも知れません。 (不適切なfl.controls.ComboBoxを使っていた??)
173 名前:Now_loading...774KB [2012/01/24(火) 23:19:17.67 ID:8KydtSY4] 環境)WinXP,AIR1.5,CS4 特にAIRとかCSシリーズに限定した話ではないのですが、EventDispatcherを継承した クラスをインスタンス化して内部の記述が実行されたことを感知するEventクラスの パブリック定数には何がありますか? つまり、public class Test01 extends EventDispatcher として、このコンストラクタが実行 されたとします。 ここで予めコンストラクタ中に適切なイベント Event.XXYY を考慮して addEventListener(Event.XXYY, doneFunc); を含めておいて、リスナー関数 function doneFunc(evt:Event):void { try { // 処理内容 trace("実行されますた"); removeEventListener(Event.XXYY, doneFunc,); } catch (errorEvt:Error) { trace(errorEvt.message); } } によりEventDispatcherを継承したクラスTest01の実行終了を他のインスタンスに通知したいです。 ※ここで求める処理はXMLを読み込んで解析することです。 試しに、Event.XXYYをEvent.ACTIVATE,Event.COMPLETE にしましたがリスナー関数は実行 されませんでした。
174 名前:Now_loading...774KB mailto:sage [2012/01/24(火) 23:43:28.12 ID:/J1+/BR8] >内部の記述が実行されたことを感知する うーんイマイチ意味がわからんな インスタンスに通知ってどーゆー事だ… フラグ用意してゲッターで他のクラスに渡すってのとは違うのか ていうかそのカスタムイベントはちゃんと動いてるのかい ここ参考にしてみ ttp://feb19.jp/blog/archives/000115.php
175 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:41:09.12 ID:1fL8G1rX] ああもしかして カスタムイベントクラスのコンストラクタの実行時で反応が無いって事かな? dispatchEventはコンストラクタじゃイベントを送信しないぽい カスタムイベントクラス内の何かのメソッドで 条件を満たしたら以下を実行で インスタンス.addEventListener(Event.XXYY, doneFunc);が反応するお dispatchEvent( new Event( Test01.XXYY ) );//イベントをイベントフローに送出
176 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 00:45:46.22 ID:1fL8G1rX] ああごめん インスタンス側の記述はこうだな var e:Test01 = new Test01(); e.addEventListener( Test01.XXYY, doneFunc );
177 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:04:12.14 ID:n7jyUYkI] AS3で質問。 ●class Super ┗public var num ●class Sub extends Super ●Sprite ┗var sub = new Sub(); とやった時、sub.numと参照できないんだが・・・ Subクラスの中にpublic var n = super.numとかやれば sub.nって感じで参照できるっぽいが、なんか気持ち悪い。 sub.numを使えるようにするにはどうすればいいだろう?
178 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 21:20:42.76 ID:n7jyUYkI] ああ getterとかもなるべくなら使いたくないんだけど そういうのしか手はないんだろうか
179 名前:Now_loading...774KB mailto:sage [2012/01/25(水) 23:55:30.19 ID:Qe34xAUd] >>177 うーん?普通に出来てるけど public class Superとかpublic class Subにしてみるとか?
180 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 00:11:43.66 ID:uPkFU8/W] 子SWFロード方式において、子SWFをアンロードする時に、参照が残っていると ガーベジコレクションが行われないということは、色々なWEBページを見て理解しましたが、 以下の場合はどうなるのでしょうか? 子SWFが以下だったとします。 public class Child extends MovieClip { var obj:Object; var array:Array; public function Child (){ obj = new Object(); array = new Array(2); } } 子SWFをロードして、以下でアンロードした時に、 子SWFのobjや、arrayはガーベジコレクションの対象になるのでしょうか? 親SWFのアンロード時の処理 loader.unloadAndStop(); removeChild(loader); loader = null; unloadAndStop()を使って子SWFをアンロードする時に、 リスナーを削除する以外に、何をしないといけないのでしょうか? 上記のような、インスタンス変数にオブジェクトを格納している場合も、 明示的にnullをセットしておかないと、子SWFは解放されないのでしょうか?
181 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 02:13:54.69 ID:17ONX9mB] loaderにnullをいれてんのは参照切るためだよ loaderに別のインスタンス入れてももとのオブジェクトの参照は切れるよ
182 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 08:28:54.60 ID:sARG6wIg] >>179 え できるのか・・・ なんか忘れてることがあるのかな 177では省いてたけどclassもpublicにしてるし・・・
183 名前:174 mailto:sage [2012/01/26(木) 16:12:47.63 ID:V23ba8rS] >>174-176 レス有難うございます。 目的の流れは、 EventDispatcherを継承したカスタムクラス(XML.as)でXMLを読み込んで解析 → 「完了しました」の情報を別クラス(AB.as)(インスタンス)に通知 としています。 XML解析はXML.asのコンストラクタ内で終わらせてこれを通知 できれば良いのでコンストラクタ内のaddEventListener(Event.XXYY, doneFunc); には拘っていません。 ※処理完了を示すEvent.XXYYを探していましたので ということで、dispatchEventを使ってご紹介頂いたリンクや ttp://d.hatena.ne.jp/kamip/20091017/1255804628 のコードでとりあえず通知させる 仕組みは出来ました。 色々有難うございました。
184 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 16:27:59.24 ID:1tKvjhIF] >>182 出来ないわけ無いから、最低限のソース全部貼った方が早いと思うが。
185 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 19:00:55.99 ID:Beh08/YE] あの〜、 Stage.scaleMode = "noScale"; でMCサイズが拡大縮小しないようにしてるのですが ブラウザのウィンドウサイズが一定の大きさより小さくなった場合に MCを縮小するってことはできるのでしょうか?
186 名前:Now_loading...774KB mailto:sage [2012/01/26(木) 22:59:27.47 ID:sARG6wIg] >>184 改めて試したんだができるようになってたわ・・・ なんかすまんかった なんで前はエラーでたんだろう・・・
187 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 00:07:51.02 ID:AY8qNyZU] >>181 回答ありがとうございました。 もう一ついいですか? 1.親でaddChild()して子を追加。 2.子でaddChild()して適当な描画オブジェクトを追加。 こういった場合に、親の参照を切れば、メモリリークの心配はないのでしょうか? それとも、親にぶら下がっている全てのオブジェクトを調べて、 全部removeChild()しないとメモリリークになるのでしょうか?
188 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 01:54:36.84 ID:rWDTRw7N] >>187 >>154 で言ったとおり親の参照が表示オブジェクトツリーから切れても他に持たれていたら親が残る よってその子も残る 親が他から参照なければ子も表示オブジェクトツリーからの参照は切れる でも子が他から参照持たれてたら子は残る その場合たぶん子のparentには親が入ったままだから親も残るかもね 質問の答えとしては 親が子の参照を持ち、子が親の参照を持つだけの状態で表示オブジェクトツリー以外の参照がない場合、親をremoveすれば子もGC対象になるよ 他から参照なければね
189 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 02:28:45.25 ID:jzyOmjeZ] >> 188 回答ありがとうございました。 大変勉強になります。 今、作っているコンテンツが、 どうもリークしているようで、 調査に苦戦してます。 回答いただいた内容を参考に、引き続き 調査してみます。
190 名前:Now_loading...774KB [2012/01/27(金) 08:46:59.84 ID:xzIvTLon] FlashProCS5 ver.110を使用(CS4からのアップグレード版) AS自体の質問ではないのですが、CS5のタイムライン記述(フレームスクリプト)での語彙 検索機能(文字列検索機能)で質問です。 CS5のアクションパネル(フレームスクリプトのパネル)に普通にコードを書いて、普通にコード内の 文字列を検索しよいうと思い、パネル上部の検索アイコン(「ターゲットパス挿入」の左隣の虫眼鏡マーク) を押して『置換して検索』ウインドウを出しました。 ここまではCS4以前と変らないのですが、検索文字欄に文字列を入れて『検索』ボタンを押すと 同一タイムライン記述内に他に同じ文字列があるにも関わらず何も検索されず、更には開いていた タイムラインのスクリプト欄も閉じてしまいます。 (質問したらイジけて引き篭ったような状態。 ASファイルだと無問題) MX2004からCS4まで使っていたのですが、こんな酷い検索機能は初めてで悶絶しそうです。 (検索なんて基本機能中の基本なのに・・・) そこで質問です。 Q1) このアホ検索機能はCS5のデフォですか? Q2) CS5でデフォならCS5.5では改善されてますか? すいません、宜しくお願い致します。
191 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:00:49.89 ID:shQ/bgLM] そんな事ねえだろうw うちはCS5.5だが当然無い CS5でも大丈夫だと思う 再インスコしてもダメならAbodeに報告するしかないな
192 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:10:00.92 ID:shQ/bgLM] だいたい超基本的な質問スレが無いのがいかん 次スレ立たないうちから埋めやがってもうアフォかと… というわけで立てといたお ttp://toro.2ch.net/test/read.cgi/swf/1327630120/l50
193 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:23:42.26 ID:SIdMewnp] CS5で試してみたけど普通に検索できたよ。
194 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 11:27:27.16 ID:2IjPgFvU] 俺もまだCS5だけど、OK
195 名前:190 mailto:sage [2012/01/27(金) 13:59:10.92 ID:xzIvTLon] >>191-194 再インストールしましたけど症状は同じでした。 因みにOSはWindowsXP-Pro(SP3)でメモリー3.3GB,CPU:Core2DuoのE6550です ググりましたが同じような症状の報告が無いので、もうちょっと調べてからAdobeに聞きます。 最悪、CS5.5を入れるかも知れませんが・・・ >>192 スレ立て有難うございます。 超基本的な質問スレが無かったのでここで聞きました。
196 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 21:41:22.45 ID:0iPwdIwk] AS3で数日ハマっているので質問させてください。 やりたいことは親swfから外部の子swfを読み込んで、 その子swfが外部の.pngを読み込む。それを親swfで表示する。 なのですが、,pngが表示されません。 子swfのシーンに乗ってるものは親swfで表示してます。 子単体では正常に表示してます。 もしかして子swfから外部画像を読み込んだものを 親swfで表示するのはそもそもできないのですか?
197 名前:Now_loading...774KB mailto:sage [2012/01/27(金) 23:50:13.67 ID:Sg/LpXuS] >>196 要は子が参照しているPNGを親で見るってこと? ならば、子のPNG変数(URL)を親に渡すってことで、 SWF 親 子 変数 アクセス でググると吉かも。 注意点は、親子SWFが同じAS3なら良いけど、万が一、子がAS2の場合は変数に アクセスできない。 その場合はライブラリ「ForcibleLoader」とかを使う。
198 名前:Now_loading...774KB mailto:sage [2012/01/28(土) 00:04:45.23 ID:BelXmZ6i] >>196 普通に表示できるよ ロードや表示に関するASやflaを晒さないと原因はわからんが どこかで間違ってるか何かを勘違いしてるのだと思う
199 名前:196 mailto:sage [2012/01/29(日) 13:46:14.22 ID:TwlN1FpD] >>197 ,198 レスを参考に試行錯誤してみます。 どうしもだめな場合はダメASを披露しにきますw ありがとうござました。