【AS3】FlashDevelop【フリー】 (601レス)
上下前次1-新
131: ひきプロ ◆HIRO2ZQ2Xo 2009/08/04(火)13:41 ID:NE4Ij/QG(2/2) AAS
>>130
もやしもんの画像は著作権的にまずそうですよねw
ゆくゆく問題になりそうなものは入れ替えようと思います。
132(2): 2009/08/06(木)00:52 ID:BIlthKR7(1) AAS
条件付コンパイルかぁ・・・何かに使えそうだ
でも、何に使えるのかな
133(1): 2009/08/06(木)01:17 ID:FbtIO6V/(1) AAS
>>129 条件付コンパイルとか出来たのか・・・ 知らなかった。
>>132 他言語でよくあるのは、例えば例にも出てるデバッグモード時の動作とか。
主にログ出力や、トレース
134(2): 2009/08/07(金)17:08 ID:vF9qZ0RK(1) AAS
スレチかもしれないけど、FD + Flex SDK だけで作ってるのでとりあえずここに。
AS3 Project with Preloader を使ったプロジェクトの Preloader 内で
複数の外部画像をそれぞれ Loader に読ませて
Main で利用したいと思ってるんだけど、プログレスバーの分母に
外部画像のサイズ合計を使うにはどうしたらいいのかな。
Loader.load(req) する前に調べられるとベスト。
せめて Event.OPEN 時に画像サイズがわかればいいんだけど、
OPEN ハンドラ内で Event.target の LoaderInfo.bytesTotal 見ても 0 になってるし・・・
135(1): ひきプロ ◆HIRO2ZQ2Xo 2009/08/07(金)20:34 ID:kF/vEctb(1) AAS
>>132-133
ぼくもこないだマニュアル見てたら偶然見つけました。
でもあんまり有効な使い道って思い浮かばないですよねw
>>134
ProgressEvent の1回目で取れるかもしれません。
たぶん HTTP の Content-Length パラメータを見てるのかなと。
でも Web サーバの種類とか、場合によっては Content-Length が入らない場合もありそうですね。
もう一歩先に確認する方法として、PHP とかで GET パラメータに
渡されたファイル名を確認してサイズを調べるというような
簡単なスクリプトを書いたりするのも良いかもしれません。
省1
136: 2009/08/07(金)20:45 ID:u2+EPbai(1) AAS
>>134 出来そうで出来ない事の一つのような。
LoaderInfo.bytesTotal は読み込んだサイズだったと思うから、0なのは当たり前だった気がする。
HTTPヘッダでも読めれば行けるような気もするけど、Content-Lengthはイコールでファイルサイズじゃなかった気もする
Socketで接続して実験してみるとか
137(1): 2009/08/08(土)03:36 ID:Xf8YSrUw(1) AAS
やっぱり多少トリッキーなことをしないと難しそうだね。
ちゃんと作るなら >>135 の通りサーバサイドのプログラムに頼るのが一番信頼できそう。
俺のはちゃんとしてないので、ひとまずロードが完了した画像数を出しておいた。
数が多すぎなければ画像の数だけプログレスバーを出してもいいかも。
ProgressEvent.PROGRESS の時点なら利用できることは確認したけど、
ここから合計プログレスバーを作ると読み込み中に分母が変わっていきそうで微妙かなと。
合計サイズが揃うまで読み込み待機とか器用なことができたらいいけど
ASのイベントモデルをちゃんと理解してないので週末使って調べてみる。
でも close() しか見あたらないので難しそうな予感(他に使い道ないし)
138: 2009/08/08(土)16:37 ID:e1CUMyK1(1) AAS
あいつ生きてたのか
139(4): 2009/08/09(日)09:01 ID:VHnq37kK(1/4) AAS
質問させてください
以下のように、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();
省4
140(1): 2009/08/09(日)09:15 ID:VHnq37kK(2/4) AAS
AA省
141(1): 139 2009/08/09(日)09:26 ID:VHnq37kK(3/4) AAS
ちなみに、「DigitalClock.as」の中身は、
「Main.as」の中に組み込めば普通に実行できたので
一部省略しました。
階層の問題でしょうか?
142(1): ひきプロ ◆HIRO2ZQ2Xo 2009/08/09(日)09:58 ID:KDLSuSt/(1) AAS
>>137
ロードした画像数を表示するのが一番作りやすそうな形ですね。
ProgressEvent.PROGRESS でファイルサイズ取れましたかー。
途中でロード処理を一時停止することはきっとできないと思うので、
複数のファイルをロードする時は、ProgressEvent では
容量を割り出してから というわけにはいかなさそうですね。
なにかわかったら教えてくださいっ!
僕も興味あります。
>>139-141
たぶん、>>139 で書かれたコードを、
省5
143(1): 139 2009/08/09(日)11:15 ID:VHnq37kK(4/4) AAS
>>142
できました!
ありがとうございます!!
具体的には、
「addChild(tokei);」
をちょっと変更して、
「addChild(tokei.getClock());」
としたらできました。もちろんDigitalClock.as でゲッターを用意しました。
Mainに書き込まないといけないんですね、勉強になりました。
144: 139 2009/08/10(月)08:17 ID:B1VXl5B1(1) AAS
145: ひきプロ ◆HIRO2ZQ2Xo 2009/08/11(火)20:43 ID:mz96ONGl(1) AAS
>>143
DigitalClock は Sprite を継承しているので、
addChild(tokei.getClock());
とせずに、
addChild(tokei);
というコードで時計の画像が扱える方がよりスマートな設計になると思います。
tokei.getClock() は、たぶん DigitalClock の内部にもう一つ画面表示要素を作って
それを Main に渡す構造になっていると思うのですが、
その場合、 DigitalClock は Sprite を継承しない設計にすることができますね。
tokei を addChild 、 removeChild するだけで表示したり消したりできる方が
省2
146(1): 2009/08/14(金)01:11 ID:w4LLHFJe(1/5) AAS
もう解決したが、謎仕様にハメられた・・・
例)
[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 {
省6
147: 2009/08/14(金)01:14 ID:w4LLHFJe(2/5) AAS
>>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 {
省9
148: 2009/08/14(金)01:17 ID:w4LLHFJe(3/5) AAS
ちなみに、謎仕様と言うか動きから察するに、win32で言う所の、
WM_PAINT が実行されたタイミングでサイズ決定してるんだろうなぁという感想
stage.stageWidth と stage.width の違いも知らないと多分間違うし、結構罠が多い…
無駄に時間食ってしまった
149: ひきプロ ◆HIRO2ZQ2Xo 2009/08/14(金)14:25 ID:H3Ft1e6v(1/3) AAS
Web ページに配置すると init イベントで stageWidth 取れないんですか。
なぜか 0 になってしまう時があるなーと思ってたんですよねw
詳しい内容載せていただいてありがとうございました。
勉強になります。
150(1): 2009/08/14(金)21:08 ID:w4LLHFJe(4/5) AAS
あとこういう謎仕様と言うか、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)
省6
上下前次1-新書関写板覧索設栞歴
あと 451 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s