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
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してみるとかはダメなん?
863 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 02:34:09 ID:KATs3Tjv] 急かしてすみません、どなたか>>845 がわかる方いませんか? ゲームを作りたいのにキャラがなめらかに動いてくれないし、斜め移動もできないんです。 isDownはAS3で廃止されちゃったみたいですし…
864 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 10:57:54 ID:rpe86YVs] >>863 flash持ってないんで試しては無いです。参考程度にどうぞ。 this.stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown); this.stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp); var key:uint; function onKeyDown(event:KeyboardEvent):void { key = Keyboard.LEFT : addEventListner( Event.ENTER_FRAME, moveSama ); } function moveSama(event:Event):void { switch ( key ) { case Keyboard.LEFT : Sama.x -= 4; } } function onKeyUp( event:KeyvoardEvent):void{ removeEventListner( Event.ENTER_FRANE, moveSama ); }
865 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 11:02:17 ID:rpe86YVs] いやん、スペルミス発見。すみません。 function onKeyUp( event:KeyvoardEvent):void{ ~~~~~~~~ keyvoard -> keyboard
866 名前:Now_loading,..774KB mailto:sage [2008/10/19(日) 20:35:00 ID:VfO7m91y] どなたか>>858 の問題を解決できそうな人居ないですか・・・? マジで困ってます。助けてください。
867 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 20:42:01 ID:U6YzU/ET] >>866 Flash単体で保存することはできないので、php等にデータ渡してそっちで保存する。
868 名前:Now_loading,..774KB mailto:sage [2008/10/19(日) 20:59:53 ID:VfO7m91y] サーバにデータを渡す必要があるのはわかってます。その保存の為に、flashで書いた絵を一度pngに 変換する方法、もしくは座標データとして値を送る方法がわからないのです・・・何かご存じないですか?
869 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 21:57:06 ID:U6YzU/ET] >>868 ttp://www.pixelimage.jp/blog/2008/06/flash_php.html
870 名前:Now_loading...774KB mailto:sage [2008/10/19(日) 22:48:31 ID:cWB9H25D] AS3の質問です。 progression frameworkはとてもいいんだけど、重い。 パブリッシュも遅いし、asも多くてなんか壮大。 フルフラッシュサイトでページを移動したりする仕組みは いろいろ考えられるけど、みなさんどうされてますか? シンプルで軽いページ遷移フレームワークってないですか?
871 名前:Now_loading...774KB [2008/10/20(月) 13:16:18 ID:EQKgS0vH] AS3で外部からswfに変数渡すのってどうやるんでしたっけ? どっかで見たような気もするんですけど見つからなくて・・・ javascriptの変数に突っ込んで、それを返す関数を ExternalInterfaceで呼ぶって言うのは思いついたんですけど もっと簡単に出来ますよね? 渡したい変数が数値一個だけなので swfがら別リクエストで取ってくるんじゃなくて、一発で渡したいんですけど。 お願いします!
872 名前:Now_loading...774KB mailto:sage [2008/10/20(月) 14:05:50 ID:6hmRAMgb] swf読み込み時のみでいいならFlashVars使うかhoge.swf?key=valueとでもして var vars:Object = loaderInfo.parameters; for (var key:String in vars) { // key, vars[key]で取得 }
873 名前:871 [2008/10/20(月) 15:25:47 ID:EQKgS0vH] >>872 ありがとうございます loaderInfo.parameters うまく出来ました。
874 名前:Now_loading...774KB [2008/10/20(月) 15:47:30 ID:JZ6dE4dy] as3です。 ドキュメントクラスで設定したpublic varの変数に、 リンケージされたmcのフレームアクションから アクセスするにはどうすればいいですか。 ----------ドキュメントクラス------------- public var _hoge:String = "hogehoge"; ----------mcのフレームアクション--------- trace(MovieClip(root)._hoge); とすると、パブリッシュはできても、 TypeError: Error #1034: 強制型変換に失敗しました。 flash.display::Stage@24d5df99 を flash.display.MovieClip に変換できません。 となってしまいます。 どうすればいいでしょうか?
875 名前:Now_loading...774KB [2008/10/20(月) 19:02:02 ID:eAnGTrdb] AS3の質問です ゲイナーと加速度センサーを使ってアクションスクリプトで 表示させようとしています。 ムービープレビューで加速度センサーの値はできるようになったのですが 出力画面にreturnstring:[文字列]とずっと出てきてしまい止まりません 何もしていないとフリーズしてしまいます 出力画面のreturnstringだけを止まる方法はありませんか?
876 名前:Now_loading...774KB [2008/10/20(月) 21:23:49 ID:Vfa5GADU] AS3 配列を var a:Array=new Array(); と定義したとします。 a.push(1); a.push(2); a.push(3); これでa[0]だけメモリ解放出来たりしますか?
877 名前:Now_loading...774KB mailto:sage [2008/10/20(月) 22:15:25 ID:7tabBMja] >>875 何を言ってるのかまったく意味不明だけど、 出力されてるってことはどこかでtraceしてるんじゃないの?
878 名前:Now_loading...774KB mailto:sage [2008/10/20(月) 23:44:38 ID:+gY1mBrg] あるMCに、あるMCが少しでも重なった(触れた)かどうかを 検知したいのですが、そういうリスナー登録というのは 可能ですか? 一つのMCは常に同じ場所で待機していて、 もう一つのMCは動き回っていて、時々、 その待機しているMCの一部の上を通り過ぎます。 そのときだけ、いま上を通り過ぎましたよって 反応したいのです。 as3です
879 名前:Now_loading...774KB [2008/10/20(月) 23:54:34 ID:9tKbZnvY] >>864 ありがとうございます!参考にさせていただきます! しばらくはこれ見ながら自分でがんばってみます
880 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 10:10:52 ID:p4wdKNMj] >>876 メモリの解放は難しいような・・・。 そもそもガベージコレクション次第では? a[0]を削除したいだけならa.shift()か、splice(0,1) ※splice(startIndex:int, deleteCount:uint, ... values):Array
881 名前:Now_loading...774KB [2008/10/21(火) 10:20:39 ID:tJNPdNSg] とあるフラッシュのClassのサンプルファイルです。 概要は外部のjpg画像を読み込み、コンストラクタのMCにその読み込んだjpg画像を取り込むといった感じです。 まずはソースを記述します。 class FileLoad { var MC:MovieClip; var mcLoader:MovieClipLoader; function FileLoad() { MC = _root.createEmptyMovieClip("Photo", 1); } function Load():Void { mcLoader = new MovieClipLoader(); var url = "●●.jpg"; var obj:Object = mclObj(); mcLoader.addListener(obj); mcLoader.loadClip(url, MC); } function mclObj():Object { var mcl = new Object(); mcl.onLoadInit = function(target:MovieClip) { }; return mcl; } } ここで質問なんですが、 最後の 『mclObj』 メソッド内で記述している、『mcl.onLoadInit = function(target:MovieClip)』 部分の 『target』なんですが、traceしてみると上記ソースでいうところのMCがトレースされます。 なぜここの『target』に『MC』が引数で受け取れるのか、いまいち分かりません。 一体どこのタイミングで『target』部分に『MC』が引数で入り込んでいるのでしょうか? どなたかご教授お願い致します。m(__)m
882 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 11:20:59 ID:Qj6DW/0U] >>878 簡単にならAS3でもhitTest使えばいんじゃね DisplayObjectのメソッドだし >>881 AS2だと微妙だが、発行したイベント(メッセージ)が保持してる参照が取得されるんじゃね
883 名前:858 mailto:sage [2008/10/21(火) 11:24:27 ID:XseoKwdD] 回答ありがとうございました。ソースの質問になるのですが、 //-- 空ムービークリップの生成 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; }; 以上は同じソースです。 このソースで、描画データの変数はどれになるのでしょうか?また、それを変数に入れて、サーバに保存し、 再び呼び出せば同じ絵が出てくるのでしょうか?
884 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 13:01:35 ID:1YwA0gRr] >>883 結論から言うと、保存できない。 その描画方法で描画データを保存したい場合には、2つの方法があるけど、どっちも結構面倒だよ。特にAS2.0では。 1:描画時のマウスの移動座標を連結リストにでも保持しておいて、そのデータを自分でテキスト等に起こし、保存 2:MCのデータをjpegやpng画像に変換し、それを保存 2に関しては、前も書いたし、提示してくれてるサンプルにもあるとおり、変換用のライブラリが必要。 AS2.0だと、もう見つからないかもね。今は皆AS3.0のadobe製のライブラリ使ってるから。 一番簡単な解決方法は、AS3.0で作れば?ってことなんだよねこれが。 最近になってFlash手描き系のサービスが増えてきたのは、そのライブラリが配布された事が大きいのよ。
885 名前:883 mailto:sage [2008/10/21(火) 13:35:40 ID:XseoKwdD] あ、使ってるのはAS3です;
886 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:06:29 ID:1YwA0gRr] AS3なら>>869 のリンク先にサンプルあるじゃんw なんだそれw
887 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:07:51 ID:TDhTN/zB] stage.focus = textField; としてtextFieldにフォーカスを当てた後 if(stage.focus == textField) のように条件文を書いてもif文が実行されません。 書き方がおかしいでしょうか?
888 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:11:14 ID:XseoKwdD] >>886 見たけどあんまり良く解らなかったんですよね・・・取りあえず、試して見ます。 ありがとうございました〜
889 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 14:30:11 ID:Qj6DW/0U] >>887 if文が実行されませんってなんだよw trace入れるなりして問題点を絞り込むぐらい汁
890 名前:887 mailto:sage [2008/10/21(火) 15:15:50 ID:TDhTN/zB] あるアクションで if(stage.focus != textField){ stage.focus = textField; }else if(stage.focus == textField){ stage.focus = stage; } この処理を実行するとstageにフォーカスがあたっているときは textFieldにフォーカスされるのですが、 textFieldにフォーカスされているときもif(stage.focus != textField) こちらの処理がされてしまうということです。
891 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 15:27:15 ID:Qj6DW/0U] あるアクションでフォーカス変わってるとか そのif文だとtextField以外にフォーカスがあるときには必ず上の処理だね traceして確認しろと何度(ry
892 名前:887 mailto:sage [2008/10/21(火) 15:44:05 ID:TDhTN/zB] function checkKey(event:KeyboardEvent){ if(stage.focus != textField){ stage.focus = textField; }else if(stage.focus == textField){ stage.focus = stage; } } このように書いていて、キーが押されるとフォーカスがstageとtextFieldで 交互に切り替わるように書きたいんですが。 traceはもちろんしていて上の処理しか実行されないで困っています
893 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 15:51:47 ID:Qj6DW/0U] どういうtraceしたのw まずはif文の前でstage.focusとtextFieldをtraceするんだぞ
894 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 16:36:47 ID:gJPnAObS] >>892 ヘルプに出てるようなことを自分で調べないってどういうこと? 検索しにくいのは確かだけどさ
895 名前:887 mailto:sage [2008/10/21(火) 16:49:11 ID:TDhTN/zB] 今日はじめてActionScriptを触って何を調べれば解決できるかも わからないレベルでしたので、解決はおいておいて勉強します。 893アドバイスありがとうございました。
896 名前:Now_loading...774KB mailto:sage [2008/10/21(火) 17:18:29 ID:ALjd7S5P] なんでtrace結果を書くのをいやがってるんだ?
897 名前:Now_loading...774KB mailto:sage [2008/10/22(水) 00:39:45 ID:0Amo7WuQ] flex3+as3で自作コンポ―ネントを作ってます。 で、mxmlで記述する際に <自作:コンテナ> <自作:ヘッダ> <mxとか:コントロール1 /> </自作:ヘッダ> <mxとか:コントロール2 /> </自作:コンテナ> みたいな記述ができる感じで作ってますが、 現状、DefaultPropertyをArray型にして、 ヘッダ,コントロールをまとめて受取り、commitPropertiesで個別のメンバに振り分けてます。 これを最初から個別に受け取るように記述したいです。 可能であれば、サンプルのある場所なぞ教えてください。
898 名前:Now_loading...774KB [2008/10/22(水) 21:18:51 ID:ga1um3+m] AS3 flex2 FlashDevelop 木構造で、ひたすらノード増やしてるのですが、 プログラム実行時にメモリオーバーしたらエラーって出ますかね?
899 名前:Now_loading...774KB [2008/10/22(水) 21:58:55 ID:erucnat3] web.alvas.jp/ankeito.html 上記のようなコンボボックス付きのFlashでの アンケートフォームが作りたいんですが、 サンプルみたいなものが、どこかサイトにアップされてないでしょうか? もしくはヒントになるようなものを教えて頂けないでしょうか?
900 名前:Now_loading...774KB mailto:sage [2008/10/22(水) 22:34:59 ID:6lpgwkG7] >>898 ひたすら増やしてテストすればいいじゃない
901 名前:Now_loading...774KB mailto:sage [2008/10/23(木) 00:32:12 ID:rGn+Ut0l] >>899 まんまFlexやん FlexSDK落としてComponent Explorer見てみれ