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
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見てみれ