Home

flabaka

FlashDevelopのプロジェクトパネルで、フォルダを展開する方法


さて、問題です。

あるプロジェクトのツリー構造

こんなプロジェクトがあったとします。あなたは、どのようにフォルダを展開しますか?

あ~、もう

僕は今の今まで、マウス(ノートPCだと、タッチパッド)を使って、フォルダを展開していました。

FlashDevelopだと、マウスを使わないでもフォルダを展開出来たんですねぇ…

デフォルトの状態だと…

FlashDevelopを起動すると、多分、画面左のコードを書くエリアがアクティブの状態になっているので、プロジェクトパネルをクリックして、アクティブな状態にしておきます。

あるプロジェクトのツリー構造

そして、上下の矢印キーを使って、展開したいフォルダを選び、右矢印キーを押します。

矢印キーを使って、フォルダを展開

すると、フォルダが展開されます。

さらに深くツリーを展開する

jsフォルダを展開したい場合には、binフォルダ上で、下 or 右矢印キーを押し、jsフォルダに移動します。

移動したら、右矢印キー

jsフォルダに移動したら、右矢印キーを押すと、jsフォルダが展開されます。

さらにjsファイルを編集したい! ってなった場合は、jsファイル上で、Enterキーを押します。

すると、画面左のコード編集画面でjsファイルが編集出来るようになります。

便利ですね~!

皆さん、上下左右の矢印キーを駆使して、素敵なFlashDevelopライフを!

札幌でひとりMt.Flashしてみた


外はマイナス2度とか言ってるし、家の周りは雪ががっつり積もってる。

猫は炬燵で丸くなるじゃないけど、このままでは食っちゃ寝の自堕落な生活に陥りそうだったので、NAC札幌というクライミングジムに行ってきました。

Google先生情報によると、このジムはトップロープエリアがかなり充実しているみたいですが、今回は(ハーネスを持ってきていないし、一緒に行ってくれる人がいなかったので)ボルダリングのみでの利用でした。

終日利用しても、料金は1300円とか…(安っ!)。

札幌の相場って、このくらいなんですかね?

NAC札幌のボルダリングエリア

いつも行っているジムと比べると(ボルダリングエリアは)それほど広くなく、テープ課題の量も少なかったですが、その分変化に富んだ壁が多く、結構楽しめました。

休み期間の間に、あと1~2回行っちゃおうかなぁ…とか思ったり。

当初、石山緑地のボルダ壁も見に行こうかな? とか思っていたんですが、雪が積もっているので今回は断念。

AwayPhysicsを使って衝突判定をしてみる


Away3D 4とAwayPhysicsを使って衝突判定をしてみました。

AwayPhysicsは、GitHubからダウンロードしました。

GravityBall

AwayPhysicsのサンプルの中にあるGravityTest.asを、ちょっと古いWindowsXPのマシンで動かしてみたら、FPSの値が一桁しか出なかったり…

マシンによって、かなりの速度差がありますね。

ソースは、ここに置いておきます。

もっといい書き方がありそうだけど、最初なのでこんなところで…

しばらくAwayPhysicsで遊ぼうっと!

★追記(2011/12/04)

オブジェクト(球体)の数を増やすとFPSがどのくらい出るのかを検証してみたので、追記しておきます。

2年くらい前に購入したWindows7の安いノートPCでの結果です。(細かい数値は切り捨て)

オブジェクト数 FPS ポリゴン数
100 60 6万
250 50 15万
500 25 30万

enableParserを使って、ファイルサイズを抑えてみる


前回のエントリで、以下のようなコードがありました。

Parsers.enableAllBundled();

enableAllBundledを使うことで、各種ファイル形式のパーサーを一度に読み込んで使えちゃうんですが、これだとファイルサイズが肥大化してしまうみたいです。

away3d.loaders.parsers>Parsers.asファイルに、英語のコメントが書かれています。

ざっくり意訳してしまうと、以下のような感じになるかと…

enableAllBundledを使うと、全てのパーサークラスを読み込んでいるので、SWFのファイルサイズが50~100KB増えちゃいます。読み込むファイル形式を制限して、個別にAssetLibrary.enableParser()を使ってあげると、SWFのファイルサイズはいい感じになりますよ

検証してみた

SWFのファイルサイズがどれだけ違うのか、検証してみました。

検証したデータは、先の英語の記事からDL出来るもの(Loader3Dを使って.awdファイルを読み込む)です。FlashDevelopを使って、デバッグとリリースの両方で試してみました。

//Parsers.enableAllBundled();
//enableAllBundledではなく、個別にファイルを読み込む
Loader3D.enableParser(AWDParser);
Loader3D.enableParser(AWD2Parser);
  デバッグ リリース
Parsers.enableAllBundled() 255K 113K
Loader3D.enableParser(AWDParser) 210K 92K
Loader3D.enableParser(AWD2Parser) 204K 90K

サンプルではLoader3Dを使っていたので、それで検証してあります。

AWDParserとAWD2Parserでの違いですが、AWDParserはAWD1ParserとAWD2Parserのラッパークラスなので、その分若干ファイルサイズに違いが出ているっぽいです。

FlashDevelop 4とAway3D 4でStage3Dを試してみる


FlashBuilder4.5とAway3D 4を使ってStage3Dを試す方法が、Developer Connection(US)に掲載されています。

この記事をFlashDevelopで試してみることに…

FlashDevelopのセッティング

FlashDevelop側のセッティングですが、簡単です。

FlashPlayerもインストール

FlashDevelopをインストールする際、FlashPlayerにチェックを入れておくと、FlashPlayerも同時にインストールしてくれます。

デバッグ版のFlashPlayerもインストール

デバッグ版のFlashPlayerも一緒にインストールしてくれるので、後で別途インストールしなくていいので、楽チン!(インストールにかなり時間は掛かりますが…)

あとFlashBuilderだとglobalplayer.swcをダウンロードして…とかしなければいけませんが、FlashDevelopはインストールの際にDevelop側が勝手にやってくれます。

params.wmode = “direct”;もFlashDevelopでは、デフォルトでその設定になっています。

プロジェクトの設定を、FlashPlayer11に

プロジェクト設定から、対象プレイヤーをFlashPlayer11に変更しておきます。

コンパイラオプションの設定

コンパイラオプションの設定を追加しておきます。(-swf-version=13)

Away3D 4をダウンロード

先の記事に書かれているGitHubにあるAway3Dのページから、ソースをダウンロードしてきます。

GitHubからダウンロード

Away3D 4をやってみる

ソースコードなどは先の記事に詳しく書かれているので、ここでは割愛しますが、コード内に以下の記述があります。

Parsers.enableAllBundled();

これを記述することで、away3d>loaders>parsersの中にある以下のクラスが使えるようになります。

  • AC3DParser
  • AWDParser
  • Max3DSParser
  • MD2Parser
  • MD5AnimParser
  • MD5MeshParser
  • OBJParser

これにより、.awd、.3ds、.objファイルなどを扱えるようになります。(TweenerのSpecial Propertyみたいな感じですかね?)

この記述を書かないと、エラーが発生します。

エラーが発生

本当にStage3D?

きちんとStage3Dで動いているのかな? と思いますよね?

日本のDeveloper Connectionに以下の記事が掲載されています。

記事内のイラストを見ると、DisplayObjectが最前面にあって、その後ろ側にStage3Dのレイヤーがあるそうです。

先のAway3Dのコードに、以下の記述を追記してみます。

//初期化あたりに書いておく
_sp = new Sprite();
_sp.graphics.beginFill(0x00FF00);
_sp.graphics.drawRect(0, 0, 800, 600);
_sp.graphics.endFill();
addChild(_sp);
//この後にAway3Dの記述があります

これを実行すると、画面全体が緑一色になります。

最前面のレイヤー(DisplayObject)に緑のBOXが表示されているからですね。

//初期化あたりに書いておく
_sp = new Sprite();
_sp.graphics.beginFill(0x00FF00,0.2);
//以下略

これを実行してみると、DisplayObjectの背後のレイヤーでStage3Dが動いているのが理解出来ます。

Away3DのView3Dクラスの中を見ると分かるのですが、away3d>core>managers>Stage3DManagerやaway3d>core>managers>Stage3DProxyを使うことによって、Away3Dの描画処理をStage3D側で行う設定になっているみたいです。

Home

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top