【AS3】FlashDevelop【フリー】

2008/07/16(水) 04:46:58ID:ahpJufac
FlashのAS3などの総合開発環境。
質問スレなどで結構出ているがスレがないので立てた。
基本英語だが、日本語化できる補助みたいなのもあるらしい。

【必要なソフト】
Flex 3 SDK
ttp://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

JRE1.6
ttp://cowscorpion.com/Library/JREforWindows.html

FlashDevelop
ttp://www.flashdevelop.org/community/viewforum.php?f=11
2009/08/06(木) 00:52:02ID:BIlthKR7
条件付コンパイルかぁ・・・何かに使えそうだ
でも、何に使えるのかな
2009/08/06(木) 01:17:02ID:FbtIO6V/
>>129 条件付コンパイルとか出来たのか・・・ 知らなかった。

>>132 他言語でよくあるのは、例えば例にも出てるデバッグモード時の動作とか。
主にログ出力や、トレース
134Now_loading...774KB
垢版 |
2009/08/07(金) 17:08:37ID:vF9qZ0RK
スレチかもしれないけど、FD + Flex SDK だけで作ってるのでとりあえずここに。

AS3 Project with Preloader を使ったプロジェクトの Preloader 内で
複数の外部画像をそれぞれ Loader に読ませて
Main で利用したいと思ってるんだけど、プログレスバーの分母に
外部画像のサイズ合計を使うにはどうしたらいいのかな。
Loader.load(req) する前に調べられるとベスト。

せめて Event.OPEN 時に画像サイズがわかればいいんだけど、
OPEN ハンドラ内で Event.target の LoaderInfo.bytesTotal 見ても 0 になってるし・・・
2009/08/07(金) 20:34:16ID:kF/vEctb?2BP(123)
>>132-133
ぼくもこないだマニュアル見てたら偶然見つけました。
でもあんまり有効な使い道って思い浮かばないですよねw
>>134
ProgressEvent の1回目で取れるかもしれません。
たぶん HTTP の Content-Length パラメータを見てるのかなと。
でも Web サーバの種類とか、場合によっては Content-Length が入らない場合もありそうですね。
もう一歩先に確認する方法として、PHP とかで GET パラメータに
渡されたファイル名を確認してサイズを調べるというような
簡単なスクリプトを書いたりするのも良いかもしれません。
これだと Loader のほかに URLLoader も使わないといけないので若干面倒ですね。
2009/08/07(金) 20:45:05ID:u2+EPbai
>>134 出来そうで出来ない事の一つのような。
LoaderInfo.bytesTotal は読み込んだサイズだったと思うから、0なのは当たり前だった気がする。
HTTPヘッダでも読めれば行けるような気もするけど、Content-Lengthはイコールでファイルサイズじゃなかった気もする
Socketで接続して実験してみるとか
2009/08/08(土) 03:36:22ID:Xf8YSrUw
やっぱり多少トリッキーなことをしないと難しそうだね。
ちゃんと作るなら >>135 の通りサーバサイドのプログラムに頼るのが一番信頼できそう。
俺のはちゃんとしてないので、ひとまずロードが完了した画像数を出しておいた。
数が多すぎなければ画像の数だけプログレスバーを出してもいいかも。

ProgressEvent.PROGRESS の時点なら利用できることは確認したけど、
ここから合計プログレスバーを作ると読み込み中に分母が変わっていきそうで微妙かなと。
合計サイズが揃うまで読み込み待機とか器用なことができたらいいけど
ASのイベントモデルをちゃんと理解してないので週末使って調べてみる。
でも close() しか見あたらないので難しそうな予感(他に使い道ないし)
2009/08/08(土) 16:37:19ID:e1CUMyK1
あいつ生きてたのか
139Now_loading...774KB
垢版 |
2009/08/09(日) 09:01:10ID:VHnq37kK
質問させてください
以下のように、2つ以上のファイルを使ってオブジェクトを生成する場合、
実行画面に何も表示されません。階層などの問題なのでしょうか?

Main.as
package {
 import flash.display.Sprite;
 import flash.events.Event;

 public class Main extends Sprite {
  public function Main():void {
   var tokei:DigitalClock = new DigitalClock();
  }
 }
}

続く
140Now_loading...774KB
垢版 |
2009/08/09(日) 09:15:04ID:VHnq37kK
続き

DigitalClock.as
package {
 import flash.display.*;
 import flash.events.*;
 import flash.text.*;
 import flash.utils.*;

 public class DigitalClock extends Sprite {
  private var clockTimer:Timer = new Timer(1000);
  private var clock:TextField = new TextField();

  public function DigitalClock():void {
   clockTimer.addEventListener(TimerEvent.TIMER, clockShowTimer);
   clock.defaultTextFormat = new TextFormat("arial", 20, 0x000000);
   clock.autoSize = TextFieldAutoSize.LEFT;
   clock.selectable = false;
   clock.embedFonts = false;
   addChild(clock); //ここが問題だと思う

   clockTimer.start();
  }
  
  private function clockShowTimer(event:TimerEvent):void {
   省略
  }
 }
}
141139
垢版 |
2009/08/09(日) 09:26:53ID:VHnq37kK
ちなみに、「DigitalClock.as」の中身は、
「Main.as」の中に組み込めば普通に実行できたので
一部省略しました。
階層の問題でしょうか?
2009/08/09(日) 09:58:19ID:KDLSuSt/?2BP(123)
>>137
ロードした画像数を表示するのが一番作りやすそうな形ですね。
ProgressEvent.PROGRESS でファイルサイズ取れましたかー。
途中でロード処理を一時停止することはきっとできないと思うので、
複数のファイルをロードする時は、ProgressEvent では
容量を割り出してから というわけにはいかなさそうですね。
なにかわかったら教えてくださいっ!
僕も興味あります。
>>139-141
たぶん、>>139 で書かれたコードを、

var tokei:DigitalClock = new DigitalClock();
addChild(tokei);

と 1 行足すと画面に表示されると思います。
Main の画面に addChild しないと画面に出てこないんですよねw
僕も最初詰まりましたw
143139
垢版 |
2009/08/09(日) 11:15:01ID:VHnq37kK
>>142
できました!
ありがとうございます!!

具体的には、
「addChild(tokei);」
をちょっと変更して、
「addChild(tokei.getClock());」
としたらできました。もちろんDigitalClock.as でゲッターを用意しました。


Mainに書き込まないといけないんですね、勉強になりました。




144139
垢版 |
2009/08/10(月) 08:17:07ID:B1VXl5B1
2009/08/11(火) 20:43:06ID:mz96ONGl?2BP(123)
>>143
DigitalClock は Sprite を継承しているので、
addChild(tokei.getClock());
とせずに、
addChild(tokei);
というコードで時計の画像が扱える方がよりスマートな設計になると思います。
tokei.getClock() は、たぶん DigitalClock の内部にもう一つ画面表示要素を作って
それを Main に渡す構造になっていると思うのですが、
その場合、 DigitalClock は Sprite を継承しない設計にすることができますね。
tokei を addChild 、 removeChild するだけで表示したり消したりできる方が
コードが読みやすくなるし、間違いも起こりにくくなると僕は思います。
とここまで書いて、好みの問題な気もしてきましたw
2009/08/14(金) 01:11:18ID:w4LLHFJe
もう解決したが、謎仕様にハメられた・・・

例)
[SWF (width=800, height=600, backgroundColor=0xffffff, frameRate=20)]
public class Main extends Sprite
 public function Main():void
 {
  if (stage) init();
  else addEventListener(Event.ADDED_TO_STAGE, init);
 }
 private function init(e:Event = null):void {
  // ここで stage.stageWidth と stage.stageHeight
  // を取った時・・・ ローカルで直接swfを叩くと 設定値がちゃんと取れる
  // しかし WebServer上に上げて http://hogehoge/huga.swf のようにして実行するとなんと 0 が返る
  // 挙動が変わるとはこれいかに
 }
}
2009/08/14(金) 01:14:43ID:w4LLHFJe
>>146 の解決策

例)
[SWF (width=800, height=600, backgroundColor=0xffffff, frameRate=20)]
public class Main extends Sprite {
 public function Main():void
 {
  if (stage) init();
  else addEventListener(Event.ADDED_TO_STAGE, init);
 }

 private function init(e:Event = null):void {
  removeEventListener(Event.ADDED_TO_STAGE, init);
  addEventListener(Event.ENTER_FRAME, ent);
 }

 private function ent(e:Event = null):void {
  removeEventListener(Event.ENTER_FRAME, ent);
  // EnterFrameを一段カマせば、ブラウザ越しでもローカル実行でも取れる
  // ※サイズはその時のステージのサイズ
 }
}
2009/08/14(金) 01:17:51ID:w4LLHFJe
ちなみに、謎仕様と言うか動きから察するに、win32で言う所の、
WM_PAINT が実行されたタイミングでサイズ決定してるんだろうなぁという感想

stage.stageWidth と stage.width の違いも知らないと多分間違うし、結構罠が多い…
無駄に時間食ってしまった
2009/08/14(金) 14:25:46ID:H3Ft1e6v?2BP(123)
Web ページに配置すると init イベントで stageWidth 取れないんですか。
なぜか 0 になってしまう時があるなーと思ってたんですよねw
詳しい内容載せていただいてありがとうございました。
勉強になります。
2009/08/14(金) 21:08:05ID:w4LLHFJe
あとこういう謎仕様と言うか、Flashの中の動きを想像して予想しないと
一見何でも無いような事すら書けないってのはちょっと苦痛な気もする・・・ 理由わかる?

例1)
var w:int = 200;
var h:int = 50;
var sp:Sprite = addChild(new Sprite()) as Sprite;
sp.graphics.beginGradientFill(GradientType.LINEAR, [0xffffff, 0x000000], [1.0, 1.0], [200, 255]);
sp.graphics.drawRoundRect(0, 0, w, h, 8, 8);
sp.graphics.endFill();

例2)
〜例1と同じ前略〜
var sp:Sprite = addChild(new Sprite()) as Sprite;
sp.width = w;
sp.height = h;
〜例1と同じ後略〜

空の Sprite の width/height を設定するかしないかで描画の内容が変わるって一体・・・
2009/08/14(金) 21:15:46ID:w4LLHFJe
あ、ちなみに誤解の無いように言っておくと、不満色々書いてても
俺根本的にFlash好きだからなww ブツブツ文句言いながら追いかけて楽しんでる
2009/08/14(金) 23:21:08ID:H3Ft1e6v?2BP(123)
>>150
この問題はなんで起こるんでしょうねw
ぼくも疑問に思っていました。
width・height への値の代入は、
「描き始める前に領域を確保する」
という効果が出ないようですね。
これは直感と反する動作なので謎の仕様に見えてしまいます。

試しに、図形を描き終わった後から width・height を再設定してみると、
scaleX, scaleY に値を代入したかのように拡大縮小されますね。
「後からサイズを変える」 という効果はあるようです。

trace(sp.scaleX);

を表示してみると、再設定されていることが確認できました。
ということは、最初に width・height に値を代入すると、
scaleX、scaleY が 0 に設定されてしまうことになり、
その後の描画内容が画面に出ないという動作になってしまいます。

以上のことから想像すると、width・height のセッターの動作が、
function set width(value:Number):void {
  this.scaleX = this.width / value;
}
というようになっているのではないかなと。
width の初期値は 0 なので、何か値を掛けたとしても 0 になってしまいます。
2009/08/14(金) 23:24:27ID:H3Ft1e6v?2BP(123)
最後の行の書き方がおかしかったですね。
0 / value;
というような式だと、結果は常に 0 になるので、
最初に width・height を設定すると、その段階で
scaleX、scaleY が 0 になってしまうと考えられます。
2009/08/15(土) 14:53:11ID:srGxDtlq
>>152-153 ああなるほど。確かにそうかも。・・ってか、こういう風に利用者側が動きを想像しないと
動作の正解が見えないってのはどうなんだろうな・・ww 困るわ、モヤモヤがいつまでも晴れなくて。 色々と
2009/08/15(土) 15:04:29ID:srGxDtlq
あと、スレが過疎なので話のネタと一つの心配事を書いとく。

ネタ: ただし誰でも知ってるような話)
良くあるAS他の説明で、「これはオブジェクト指向(以下OOと略)言語です」 って説明があるが、実はOOにも複数の流派/思想がある。
例えばダックタイピングなOO、つまり 「それがアヒルのように歩きアヒルのように鳴くなら、それはアヒルである」 って考え方。

これは例えば、C/C++ 言語で関数ポインタを使ったコールバックを想像するとわかりやすくて、つまり、
「使おうと思った時にそれが想像通りのインタフェース/インプリメンテーションになっていれば、それと見なす」 と言う物。

 AS3の例)
  class A {
   var onLoad:Function = null;
   function load(): void {
    if(onLoad != null) onLoad("終了");
   }
  }
  // var a:A = new A(); a.onLoad=function(s:String):void { trace(s); }; // "終了とトレースされる

これは関数テンプレートに従ってそれと見なしているので実行可能となるが、例えば a.onLoad = function(i:int):void ... のように記述すると
コンパイルは通るが実行時に 「型が違う」 的なエラーになる。
こういう動きを、型推論とか、ダックタイプとか、C/C++のテンプレートに倣って テンプレート指向OOとか言う

対して JavaやC#、C++のクラス機構のような 「アヒルのように歩きアヒルのように鳴いてもアヒルでないなら、それはアヒルでは無い」 という
型厳密なOOを、クラス指向OOとか言う。(続く)
2009/08/15(土) 15:11:52ID:srGxDtlq
ネタ続き)
で、この当たり前の話がここからどうなるかと言うと、要はAS3って型推論と型厳密が両方使える言語なんだよなって事。

…って、ここで心配事書くはずだったが、ちょっと確認してからにしたいのでやっぱり止めた
2009/08/15(土) 18:27:24ID:srGxDtlq
AS3メモ:
・URLLoader と Loader は継承関係に無い赤の他人。Loader はさり気なく DisplayObject の派生
・Video インスタンスにattachした NetStream を取り出す方法が無い。
 ※setがあるのにgetが無い的なイメージ。 それは触ってはいけないからじゃ?とも思ったが、コントロールはNetStream側で行う謎設計
 ※この辺のストリームやI/Oのイメージは、初めから整理されているJava他の言語のイメージは捨てて、全部疑ってかかった方がいい

・if(a < b && c , 1) { ほげほげ } のような構文でコンパイルエラーにならない @FlashDevelop 3.0.1 RTM + Flex3
 しかし実行すると Decompressされたソースが山のように吐かれて死亡する。しかもエラーメッセージは

 [Fault] exception, information=VerifyError: Error #1068: Boolean と int は共有できません。

 になる。原因がわかればわかる話だが、いきなり実行時にこのエラーメッセージ見ても原因が想像出来なかった。まさか typo とは
2009/08/16(日) 03:14:49ID:AKWy+LpT?2BP(123)
ちょ〜濃いネタですねw
かなり調べないと付いていけないです。
OO のお話ですが、ActionScript は過去のやり方を引き継いでる部分とか
JavaScript のベースになっている仕様を取り入れるとかで、
おっしゃる通り、色んな考え方が錯綜してるように見えますね。

var obj:Object = new Object();
obj.prototype.func = function ():void { return; };

というような、プロトタイプを使った機能の拡張もできるらしいですね。
実際に使ったことはないですが。
2009/08/16(日) 03:25:19ID:AKWy+LpT?2BP(123)
今挙げていただいた話題とは直接の関係はないですが、

・Flash Playerの作り方
http://www.slideshare.net/yukoba/flash-player

ここに書かれている内容によると、
Flash Player の動きって、明文化されてない部分がかなりあるようで、
「バグとか誤動作も含めてそういう仕様」 みたいな状態になってるようですね。
ドキュメントが後から作られてるような感じかもしれませんw
謎の動きをする箇所は、Flash の文化圏はそういうものだと割り切って、
厳密に仕様が存在する環境とは分けて考えた方が
精神衛生上よろしいのではないかと個人的には思いますw
2009/08/16(日) 12:40:30ID:BH5EXFvM
あぁ、書こうと思ってた心配事がとりあえず的中。 原因はつまり、>>158 氏の話の通りだ。 多分過去の仕様を引き継いで
強引に形を変えつつ、増築を繰り返してる&API仕様の整理が出来て無いのか、ライブラリがバラバラ。

具体的にどういう事があったかメモしとくとこんな感じ。 丁度 >>159 の話ともリンクするけど、
俺がやろうとしてた事は、かいつまんで言えば画像、音、動画(FLV)を、特に分け隔てもせずに動的にロードしつつ、再生するものだった。
実際には他にも色々行っているけど、その中の一部として、これをやりたかった。 そしてハマった。

結果、結局さんざん調べてどうやら出来ないとの結論に達して、別の観点で自分で整理して、継承したクラスいくつか作って
再管理する形にしたけど、この 「どうやら出来ない」 って結論に辿り着いた理由ってのが、まさにこのバラバラな作りのせい。

何かの役に立つかもしれないので、念のためまたメモしとく(続く)
2009/08/16(日) 13:08:53ID:BH5EXFvM
(続き 1/2) 
差し当たり、自サバのCGI(Perl/PHP)にパラメタをPOSTして、そのレスポンスとして flv ファイルを取得し、それを表示したかった。
画像と音はさくっと完成。 しかし flv でハマる。 結果、GETで投げれば普通に出来たんだが、POSTじゃないと困る部分があったので、そうしたかった。
しかし出来なかった。 その理由を具体的に以下に記す。 原因は上でも書いた通りクラスが一部独自仕様になっており、絶妙にバラバラに作られてたせい。

まず前提として、 flash.net.URLStream と flash.net.NetStream がまったく別物。 一見似てるけど全然別物。 どういう事かと言うと、
継承関係がまず Object ← EventDispatcher ← ほげほげStream となっていて、Stream 抽象クラスのような物は無いし、インタフェースインプリメントの状態もまったく別。
と言うか、 NetStream は IDataInput インタフェースを実装していない。 かと言って、上で書いたダックタイプな手法でごまかそうにも、メソッドのシグネチャが違うので無理。

つまり、この2つは相互に入れ替えが出来ない。 やろうとした事から考えると、NetStream がもしもインタフェースインプリしてたら、自前クラスで機能補完できたんだけど、
それも出来ず、かといって AS3 は多重継承も出来ないので、結果、出来ない。
2009/08/16(日) 13:11:50ID:BH5EXFvM
(続き 2/2)
それならばと、URLStream でバイナリデータを自前でロードし、それを使おうと思ったが、今度は NetStreamにバイナリデータを受け取る口がない。
それならばと目の前の目的である flash.media.Video に渡そうと思ったが、それ自身バイナリデータを受け取るインタフェースが無い。 よって自前でロードして渡す案も出来ない。

それならば仕方が無いので、画像、動画、音声の共通抽象クラスを定義して自前で再実装、NetStream と URLStream に自前で共通のインタフェース定義して、
それをベースに書いてしまえと書いてみたが、ここで致命傷発覚。 つまり、NetStream には POSTデータが渡せない。 というか、HTTP-POSTを投げる方法が無い。
URLStream ならば、URLRequest を引数に取るのでどんなHTTP-METHODでも送信できるが、NetStream は NetConnection とだけ仲良しで、自由なHTTP送信は出来ない。
そして、flash.media.Video は、NetStream, NetConnection しか受け取らない。 そして、flv ファイルのデコードは、flash.media.Video 内のネイティブ実装コードが行っている。

という訳で、ここで詰んだ。

ちなみに現状は、とりあえずもっと上位レベルで自前で管理を揃えてます。 画像、音声、動画を同じように非同期でロードしつつ、どれも同じように 扱えるクラス書いて。
NetConnection/NetStream って、どうやら Flashサーバ向けの固有実装っぽい。 ハードコード祭りらしく、その理由はおそらく >>159
2009/08/16(日) 15:58:16ID:BH5EXFvM
ちなみに、flv ファイルを簡単に扱える VideoClip クラスを作ってあるのでソース貼っとく。
もし必要な人いたらどうぞ。 使用方法他はテキスト中で。 作りはシンプル

ttp://flpannex.so.land.to/memo/memo4.txt
164Now_loading...774KB
垢版 |
2009/08/18(火) 12:33:29ID:9ukPwcJf
FlashDevelop使いってInkscapeユーザも多いのかな?
絵描いてsvgで出力すると、そのままEmbedすればShapeとして使えるんだぜ
2009/08/18(火) 23:34:39ID:VZ4cFrHD
>>164
IllustratorのSVGじゃだめなの?
166Now_loading...774KB
垢版 |
2009/08/19(水) 02:26:28ID:lSXfPDKg
>>165 いや Illustratorでも独自拡張の無いSVGなら全然おkだけど、
そもそもオープンソースでって話じゃないかと思う。 FlashDevelop も Inkscape もオープンソース。

大体イラレは高い。 Flashで使うパーツをちょっと描きたいなら、Inkscape で問題無い。
てか凝ったの描いても問題無い。 本気でイラスト描く or 仕事で使うなら買った方がいいかもしれないが

2009/08/19(水) 22:17:07ID:CCAOsmOZ
>>164
俺はFLASHで書くなあ・・・
処理速度欲しいから出力はPNGにしちゃうけどね。

Inkscape使った事ないけど、イイ感じなのかい?
168Now_loading...774KB
垢版 |
2009/08/20(木) 12:34:56ID:t3Qav2lR
>>167
製品版のFlash持ってるならいらないかもしれないが、
このスレはFlashDevelopユーザのスレだ。

FlashDevelopはAS主体で何か作る時、製品版FlashよりVisualStudioライクで圧倒的に
効率がいいけど絵を描く機能は無いのだ。完全にプログラマ向け。

だが同じオープンソースってくくりでInkscapeと連動させると、結果的に製品版と変わらない内容が
無償で効率よく描けるって事。

Inkscapeそのものは正直ちょっともっさりしてるけど、良くできてるぜ
169167
垢版 |
2009/08/20(木) 22:00:20ID:d8t6qhE/
>>168
なるほど、オープンソースで何とかする場合の話か。空気読めなくてごめんよ。
俺も最初はEDGEで頑張ったりしてたんだけど
細かいアニメーション付ける必要があったから結局FLASH買ったんだよなぁ…
2009/08/21(金) 00:22:42ID:+eU7pAsm
SVGがそのままEmbedできるってのは、AS3標準?FlashDevelopの機能として?
ライブラリ使わないと読み込めないと思ってた
2009/08/21(金) 06:11:41ID:XE5HNHp8
>>170 あぁ、それどうなんだろ。メタタグの処理してる所で何かしてんのかな?
あ、あと、>>164 1個間違えた。ShapeじゃなくてSpriteだった

public class Main extends Sprite
{
  [Embed (source = '../lib/box.svg')]
  private var SvgBox:Class;

  private var box:Sprite;

  public function Main()
  {
    box = new SvgBox() as Sprite;
  }
}
172Now_loading...774KB
垢版 |
2009/08/21(金) 12:22:53ID:uilm8B9A
FlashDevelopで使えるウィジェットキットみたいな物ってなんかないだろうか。
mxmlでなく、AS3で使えるソースライブラリ

無ければ自分で作る
2009/08/24(月) 17:05:58ID:vwB2Xwdq
3Dスレが盛ってないからこっちで聞きたいのですが、
GoogleSketchUpで吐いたkmzファイルから取り出したdaeファイルを、
papervision3d2.0のcolladaクラスで読み込もうとするとエラーを吐かれます。

daeファイルの修正が必要だということを言っているサイトはいくつか見つけたのですが、
具体的にどこを修正すればいいのか分かりません。

なにか手がかりだけでも教えていただけませんでしょうか。
174Now_loading...774KB
垢版 |
2009/08/24(月) 20:03:11ID:BBkP+lkD
>>173 どういうエラーかわからないと、何とも言えない気がする
2009/08/25(火) 10:10:36ID:ALs1NBnV?2BP(123)
>>172
・BIT-101 MinimalComps v0.91
http://www.bit-101.com/minimalcomps/
こういうのがありました。
2009/08/25(火) 12:21:35ID:HhgWXHDT
>>173

PV3Dのバージョンはいくつ?
文法おかしくないという前提で言うと、GoogleCodeに上がってる安定板の最新にした方が良いよ。
一個前のやつはCollada関係のライブラリに不具合があるから
177173
垢版 |
2009/08/25(火) 12:40:04ID:W4YVVRDH
>>176
エスパー! 最新版にしたら解決しました!

こんな基本的なことを見落としていたなんてお恥ずかしい……
まことにトンでした。
2009/08/25(火) 22:02:11ID:kksrYPK4
>>175
こりゃシブいね。
使うときの権利表記どうすりゃいいか見ようとして元サイト眺めてたら
こんなのも作ってるのかこの人。デザインが好みだなぁ。
http://www.bit-101.com/MinimalDesigner/
2009/08/26(水) 18:42:50ID:XDrpXCay
FlashDevelopでSVNを使いたいんですけど、出来ますでしょうか?

本当は使い慣れているEclipseで開発したいんですが出来ないようなので・・・
180Now_loading...774KB
垢版 |
2009/08/26(水) 19:18:29ID:6z5BxeNv
FlashDevelopでって言うか、普通にSVNクライアントでソースやりとりすればいいと
IDEに機能包含されてる必要は無いし

ちなみにToirtoseSVNお勧め。プロジェクトフォルダにチェックアウトして楽ちん
2009/08/26(水) 19:57:16ID:XDrpXCay
レスどうも!

今まさにTortoiseSVNでやっているのですが
個人的にはIDE上で操作できた方が楽なんですよね
ぶっちゃげ、大差ないのはわかりますが・・・w
無いようなのでしばらくはコレでやってみます
2009/08/26(水) 21:45:06ID:a0Hvfq8D
TortoiseSVNならProjectパネルのファイル右クリックしてShell Menuから呼び出せるからな
1クリック余計にかかるが大した事はないな
2009/08/28(金) 11:00:28ID:M2jlnvsr?2BP(123)
・Flex Style Explorer
http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html
既にみなさんご存知だとは思いますが、
MXMLで画面作る時に便利ですよ。
2009/08/30(日) 00:13:45ID:zvSmTpYT?2BP(123)
ネタ振りとして1つ。
AIRアプリが便利そうだなぁと今思ってるんですよ。
Windows・Mac・Linuxで同一のバイナリで動きます。
AIRは実行環境でWebブラウザコンポーネント(WebKit系)を内蔵してるし、
OSのファイルマネージャから直接ドラッグできるし、
日本語のインライン入力がMac・LinuxでもWindowsと同じようにできます。
Webブラウザコンポーネントのみを使って、HTML+CSS+JavaScriptでも開発できるそうです。
2009/08/30(日) 02:37:07ID:LcfhxjBj
AIRはランタイムの再配布ライセンスが不要な範囲なら確かに便利だろう。
ランタイムの普及率とシームレスインストールの存在から考えて、Web配布が前提だと思う。

AIRアプリはランタイムのインストールとアプリ自体のインストールが必須で敷居が高いけど
ファイルの読み書きとか右クリック対応とかの明白な機能強化がある。
一方、.exeファイルをコピーするだけで起動できて手軽なプロジェクタの魅力も捨てがたい。

ガジェット以上の事をやりたくなると強制されるこの選択が意外と悩ましい。
(俺はAS側からウィンドウサイズを変更したいだけなのに・・・)
2009/08/30(日) 10:12:56ID:Mae5Wjx/
「AIRはランタイムの再配布ライセンスが不要な範囲」ってなに?
配るときにライセンス的に何かあるの?
2009/08/30(日) 12:16:48ID:zvSmTpYT?2BP(123)
>>185
CD等の媒体で配布する場合も、ユーザのPCがインターネットに接続可能だと仮定して
インストーラー作っても良いと思うんですよね。
インストーラーは、 HTML と .air のファイルで作れそうです。
AIRのランタイムはCDに含めずに、ネットから拾ってもらう方が良いかなと。
おっしゃる通り、ランタイムをCDに含めたい場合は、
ライセンスを意識する必要がありそうです。

Flashプレーヤーのプロジェクタ (.exe) も、プレゼンテーションのように
ユーザの操作性を拡張しなくて良い場合はお手軽にできて便利ですよね。
188Now_loading...774KB
垢版 |
2009/09/09(水) 13:54:32ID:f8wHh8Pi
質問です。コメントで使える@paramとかってなんて言うのですか?
FlashDevelop以外のエディタでも(VisualC++とか)こういうのあるみたいなのですが
名前がわからないので調べることもできません(汗。
それと格@要素の意味がわからないので、よろしければ解説お願いします。
/**
* ...
* @author(製作者の名前を書く)
* @copy
* @default
* @deprecated
* @eventType
* @example
* @exampleText
* @exception
* @haxe
* @inheritDoc
* @internal
* @link
* @mtasc
* @mxmlc
* @param(引数の説明を書く)
* @private
* @return(何を返すか説明を書く)
* @see
* @serial
* @serialData
* @serialField
* @since
* @throws
* @usage
* @version(日付等の最終更新日を書く??)
*/
2009/09/09(水) 15:23:10ID:p4jKgGmk
>>188

javadocだよ

簡単な書き方とか
ttp://www.k-kawaguchi.com/java/fnavi/javadoc.html
2009/09/09(水) 15:25:49ID:f8wHh8Pi
>>189
どうもありがとう!
2009/09/09(水) 23:02:23ID:b0K8lE04
AS3のVector<T>.splice、第二引数省略したら引数足りないってエラーになったけど
オンラインリファレンスでは省略可能ってなってる
なぜだろう
2009/09/09(水) 23:06:00ID:rgJmg4qb
splice (startIndex:int, deleteCount:uint) : Vector.<Number>

リファレンスが間違ってんだろうね
2009/09/14(月) 05:29:57ID:TH7sx0EX
Airは携帯電話のインフラ整備ができればもっと流行ると思うなぁ
メインはPCだがモバイルで一部持ち出せるコンテンツなんて興味あるし
194Now_loading...774KB
垢版 |
2009/09/25(金) 14:51:08ID:5dHmy83e
コード書いてる途中に文字の間隔とか(arrayの要素とか)勝手にスペース入れられるのが凄いウザイんだけど
これ無効化できないの?オプションで項目が見つからん
2009/09/25(金) 15:06:03ID:xTd98wOz
>>194
Tools->Program Settings->ASCompletion->Helpers->Characters Requiring Whitespace
でカンマを削除しろ
196Now_loading...774KB
垢版 |
2009/09/25(金) 15:30:26ID:5dHmy83e
できた!ありがとん
2009/10/01(木) 03:06:30ID:YN0Z+wDq
質問したいんだけど、
これとFlashCS4となにが違うの?
グラフィカルな操作なしで全部ASでやっちゃおーぜって感じ?

ていうかこれjavaそっくりだな
2009/10/01(木) 12:10:34ID:ODOeXGDp
クラス名を変えるとき、単語マッチで全置換とかやったりするけど
結構予想外の置換がおきたりする。
ファイル名は置換されないから書き直さなきゃいけないし…。
みんなは「しまった!クラス名はxxxのほうがよかった!」ってなったりしたとき
どうしてる??
2009/10/01(木) 12:33:40ID:EkfWsNsN
>>197

FlashCS4のソースエディタは糞なので、もう少し気の利くFDがおすすめということ
2009/10/01(木) 14:56:02ID:k/jiW+ZZ
>>199
ありがとう

Flex Builder3と併用でとりあえず使ってみることにした
2009/10/01(木) 20:25:59ID:k/jiW+ZZ
Tweener使いたくて、
caurinaフォルダみつけたけど、
どこにいれればいいのか

もしかして使えない?
202201
垢版 |
2009/10/02(金) 01:53:45ID:y3NPs64i
すいませんできましたw
ASと同じ階層に置くだけでした

しかもflash Player 10のデバックプレーヤーも入ってない
っていうミスもしてました。
2009/10/06(火) 19:50:50ID:5WgU3b4H
ActionScript のエディタで
flash.* はインテリセンス効くんだけど
mx って入力しても mx の名前空間の候補が全く出てこないんすけど
ビルドはちゃんと通ってた
 
そもそも FlashDevelop のインテリセンスって
Flex SDK の何のファイル参照してるんだろう
flex_sdk_3\frameworks\flex-config.xml あたりかな?
2009/10/07(水) 07:46:12ID:PkTMreQh
FlashDevelop 用 ActionScript 3 サンプル集を見ながら、
インタラクティブな操作ができるグラフを作っています。

描画したグラフをマウス右クリックでクリップボードにコピーするか、
PNGなどでサーバ上に保存し、そこにアクセスしてもらうなどして、
ユーザに再利用してもらうよう(こんな感じ ttp://www.speedtest.net/)にできればうれしいのですが、
どうすればいいのか全く分かりません。

情報へのポインタでもいいので教えてもらえないでしょうか。
2009/10/07(水) 12:25:42ID:Psr8pyAp
>>204


つttp://zapanet.info/blog/item/969

もうひとつ

つttp://designreviver.com/tutorials/actionscript-3-jpeg-encoder-revealed-saving-images-from-flash/
206204
垢版 |
2009/10/07(水) 22:35:37ID:PkTMreQh
>>205
ありがとうございます。

「これですぐにできちゃいます」なんて書けるほど力量がありませんが、
教えていただいた情報をもとに頑張ってみます。
2009/10/07(水) 22:45:31ID:01JoY1Ds
BitmapData をバイナリでPost… って書こうと思ったら >>205 に詳しい記事出てた
2009/10/08(木) 14:04:36ID:Twod1a+U
>>203
mx.〜は、flex_sdk_3\frameworks\projects\framework\src\mxを
「AS3Context」の「User Classpath」に入れてやると出てくるようになったよ

クラス名変えたら使ってるとこは置き換えてほしいな…
リファクタリングする時面倒だ
2009/10/10(土) 11:44:08ID:BMp8JOW8
最新版のFlashDevelop (3.0.4 RTM released)とFlex 4-Beta 2という環境で
新規にAS3 Projectを作って、何も変更せずにコンパイルすると、
Warning: This compilation unit did not have a factoryClass specified in Frame metadata to load the configured runtime shared libraries.
To compile without runtime shared libraries either set the -static-link-runtime-shared-libraries option to true or remove the -runtime-shared-libraries option.
って警告が出るんですけど、正しい挙動なんでしょうか?
以前のバージョン(3.0.3 RTM released)では出ませんでした。
2009/10/13(火) 12:17:53ID:1T6u9r/C
ランタイム用の共有ライブラリのリンクを設定してやるか、共有ライブラリー自体のオプション設定を切ってやればイイと後半に書いてあるよ
2009/10/13(火) 20:10:32ID:fhEdgUOE
>>208
おおサンクス、ちょっとイジってみるわ
2009/10/24(土) 21:47:54ID:PvOcN2Zo
ちょっと質問いいですか><;;
プロジェクトの中のフラッシュを動かすのに必要なファイルって
全部binフォルダ内だけで収まってるはずですよね・・・
binだけコピペしても起動しないんですけどどこに違いがあるんでしゅか・・・?
213Now_loading...774KB
垢版 |
2009/10/24(土) 21:52:09ID:iHso+BCt
どういう内容なのかによる。 例えば、外部ドメインのリソース(画像とか、要は別ファイル)を
引っ張ってきて表示するような内容の場合、例えば Webサーバ上に配置すると、クロスドメインになって表示はされない。
ローカルで実行する分には表示される。

なので、「どういう内容を作った」 「コピペして実行って、どういう状態で実行してるか」 を書かないとなんとも
2009/10/24(土) 22:00:27ID:PvOcN2Zo
は、早いですね・・・駄目ぐらいで聞いてみたのにありがとうございます
外部ドメイン?は画像とXMLを読み込んでるはずなんですが・・・
コピペしてない元のフォルダをアップロードしたらちゃんと表示されました
問題はコピペしたbinフォルダ内のindex.htmlで開いた時なんですが
念のためにFLASHMANIAって再生ソフトでswfを直で開いたら再生できました
2009/10/24(土) 22:05:25ID:iHso+BCt
やっぱUploadして実行か。 そして画像とxmlは同じドメイン下にあると。

FLASHMANIA ってのは知らないが、swf直実行はローカルドメイン上での実行になるので、
サーバに上げた時と挙動は違うよ。 しかし元のフォルダを丸ごとUpしたらブラウザ上で表示された?
のなら、html 内の記述を確認すること。 ブラウザ側のFlashプラグインのバージョンも確認すること。

ローカル実行=Flash10、ブラウザプラグイン=Flash8 とかだったら、内容によっては当然動かない
2009/10/24(土) 22:19:25ID:PvOcN2Zo
htmlの内容はプロジェクト作ったときに勝手に作成された物のままなんですが
もしかしてFlashDevelopedのバージョンが古いせいかもしれないです
でもそれだとコピペした時だけ起動しない理由にはならないですよね・・・
2009/10/24(土) 22:23:06ID:iHso+BCt
>コピペしてない元のフォルダをアップロードしたらちゃんと表示されました
→ アップロードした外部サーバ上で正常に動いた

>問題はコピペしたbinフォルダ内のindex.htmlで開いた時なんですが
→ ローカル上で htmlファイルをダブルクリックして開いたら動かない

って状態?どちらも同じブラウザで表示している? 本当に全てのファイルが揃っている?
Flash内で読み込む画像なり xml のパスが相対になっていて、ローカル上でコピペした先でもちゃんてそのファイルへのパスは合ってる?
2009/10/24(土) 22:34:36ID:PvOcN2Zo
>上5行
はい、その解釈で間違って無いです。ファイルも揃ってるか確認しました

むぅう・・・前にやった時もそうだったんで
FlashDevelopedではよくある事かと思ってたんですが
滅多に無いようなケースなんですね・・・何故なんでしょう・・・
2009/11/22(日) 20:41:10ID:s7//XI7P
質問です
Flex3.0+FlashDevelop3.0.4です
actionscript3でDataGridが使おうとしています。
import fl.control.Dtagridはインポートできるのですが
dg:DataGrid = new DataGridがコンパイルエラーになります。
fl.swcはパスを通しています(コード補完は行われる)
import fl.control.Dtagridを外すとコンパイルは通るのですが
DataGridが認識されないようです。

解決方法はわかる方いましたらよろしくお願いします
2009/11/22(日) 21:14:50ID:7/GjMHR5
君がなにを言っているかなんて・・・僕にはわからないよ!!!
2009/11/22(日) 21:54:51ID:MseXE1s7
>>219 そこまで書いてる人だから、まさか構文ミス宣言ミスは無いと思うが・・・
※ var dg:DataGrid = new DataGrid();
とりあえず、コンパイルエラーの内容を。 コンストラクタの中で利用している別のクラスが見えていないとかだったり
あと fl.control.* 系のライブラリクラスは、mxml を使ったプロジェクトじゃないと正しく見えてくれないなんて事もあったりしたかも
さらに、fl.control.* 系は ASのみのプロジェクトでは正しく利用出来なかったかも

※注: ただし俺の話は FlashDevelop3.0.1 の場合の話。3.0.4 では事情が変わってる可能性もあり

2009/11/22(日) 22:46:27ID:s7//XI7P
>>221
早速の返答ありがとうございます
>fl.control.* 系のライブラリクラスは、mxml を使ったプロジェクトじゃない
そうなんですか。mxmlで書き直さないといけないのかぁorz
fl.controlだと
C:\Flex3\test_AS\sinple\src\Main.as(1238): col: 8 Error: 型が見つからないか、コンパイル時定数ではありません : DataGrid。となります
mx.controlにするとコンパイルはなんとか通りました。が、
TypeError: Error #1034: Type Coercion failed: cannot convert "id" to mx.controls.dataGridClasses.DataGridColumn.
at mx.controls::DataGrid/set columns()[C:\autobuild\galaga\frameworks\projects\framework\src\mx\controls\DataGrid.as:1099]
at Main/commentlist()[C:\Flex3\test_AS\sinple\src\Main.as:1244]
とエラーが出ました。
mxはFlexプログラム(mxml付)でないと使えませんよね。たしか

ソースは以下です

2009/11/22(日) 22:49:42ID:s7//XI7P
package{
//データグリッドの生成
import fl.controls.DataGrid;
import fl.data.DataProvider;
import flash.display.Sprite;

public class Main extends Sprite {
public function Main():void{
var dammy:Array = [
{ id:0 , name:"ジョン", age:21 },
{ id:1 , name:"ボブ", age:32 },
{ id:2 , name:"トニー", age:43 }
]

var dp:DataProvider = new DataProvider()
dp.addItems(dammy)

var dg:DataGrid = new DataGrid();
dg.headerHeight = 30 // ヘッダの高さ
dg.sortableColumns=true // ソート機能
dg.allowMultipleSelection =true // 複数アイテムの選択
dg.editable= true // 編集可/不可
dg.columns = ["id", "name", "age"] // 表示名を気にしなければこっちで簡単に設定
dg.dataProvider = dp
dg.width = 300
dg.height =200
addChild(dg)

}
}
}
2009/11/22(日) 23:03:50ID:MseXE1s7
>>223 ああやっぱり。

俺も DataGrid じゃないが、fl.*.* なコントロールを AS3 のプロジェクト上で、
Java や C# よろしく、>>223 みたいな感じに new で生成して addChild とか試したがダメだった。
パスの設定やその他色々試したが、途中で諦めて UI を丸ごと自作してしまった

※注: そうしなきゃならなかった訳じゃないが、外観が気に入らないとも思っていたので、ついでに自作した

いずれにしても、それやっぱり mxml 使ったプロジェクト内じゃないと多分無理。
恐らく生成されるインスタンスが、mxml から内部的に変換されて起こされる ASクラスの内部処理と
連動してるんじゃないかと推測してる。 フレームワーク的な意味で。 あくまで推測だけど。
2009/11/22(日) 23:22:26ID:s7//XI7P
>>224
返答ありがとうございます。
むー、やはりmxml形式に書き直すか
DataGrid的なものを自作するしかないようですね
どっちが楽だろうか、、、
なんにせよ指針が決まったのでありがとうございます
226ひろし ◆HIRO2ZQ2Xo
垢版 |
2009/11/25(水) 22:47:04ID:PzVzf4Zv?2BP(123)
FlashDevelop の素の状態だと fl.controls 系の SWC ライブラリが入ってなくて、
MXML にしても使えなかったと思います。mx.controls 系なら MXML で使えます。
fl.controls を使う時は、 Flash CS3 か CS4 から、
画面上に使いたいコントロールを貼り付けて SWC 出力した後、
FlashDevelop の lib フォルダに入れて、
右クリック → 「Add To Library」 すると使えるようになったかと。
たぶん、ライセンスの問題で FlashDevelop には含めないようにしてるんだと思います。
…ネットで検索すると落ちてるんですけどね。
と少し遅かったですね。すみません。
2009/11/25(水) 23:26:25ID:o6+1NJO2
225です
返答どもです
ネットに落ちてるfl.swcは拾っていれてるんですよね
しかし、コード補完は効くけど、コンパイルエラーになるという
しかたないんでDataGridは自作しました
2009/12/01(火) 14:01:19ID:Borinpk9
225です
fl.control系全てがAS3で使えないわけではないようです
checkboxは使ったところ使えました
しかし、Airプログラムで使用したのですがメイン窓では使えたのですが
サブ窓で使おうとすると
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.controls::CheckBox/drawFocus()[D:\My Documents\Project\Component\fl\controls\CheckBox.as:305]
at fl.core::UIComponent/focusInHandler()[D:\DEVELOP\test_lib\fl\core\UIComponent.as:1443]
となり使えませんでした
2009/12/01(火) 14:56:53ID:cOMkrPon
>>227
自作したんですかー。
大変だったでしょう。
>fl.swcは拾っていれてるんですよね
って最初に書いてらっしゃいましたね。
よく読んでいませんでしたw ごめんなさいw
>>228
サブ窓では使えないっていうのが不思議ですね。

1つ思い当たるところは、ライブラリの追加の仕方で、
SWC Include Library と、 SWC Library という2つの種類があって、
どちらか忘れてしまいましたが、どちらかの場合、
コンパイル時に参照されなかったクラスが SWF に含まれないようになるようですよ。
全て含めないと動かないライブラリだと、不具合が起こるかもしれませんね。
230Now_loading...774KB
垢版 |
2009/12/01(火) 18:17:48ID:csT/f330
うお、ホットな話題で助かった・・のか?

僕もfl.swfを http://evolve.reintroducing.com/downloads/ から落としてきて,add library asetしUIScrollBarを使用したところコンパイルは通りました。
しかし、実行してみると肝心のスクロールバーが表示されません。

あくまで予想なのですが、このswfファイルは定義のみで中身は空っぽ(一部実装されてるかも・・)なのか、必要な実行に画像ファイルがないとかではないかと思いました。
製品版を買わずに打開できてる人いるのでしょうか・・
231230
垢版 |
2009/12/01(火) 18:23:55ID:csT/f330
連投すません
fl.swfでなくともフリーで使えるUIパッケージみたいのでもいいからないものかなあ・・
2009/12/01(火) 21:00:27ID:T7Cfy287
FlexSDKの中にmxってフォルダがあるんで、そのフォルダへのパスを「AS3Context」の「UserPath」に登録すればmx系のパッケージが使えるようになるけど
UIComponentも使えるようになるんじゃないかな
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況