[Flash] Starling2.1の開発環境を構築 FlashDevelop5.2
環境
- Windows7
- Adobe AIR SDK 22
- Starling 2.1
- FlashDevelop 5.2.0
- .NET framework 3.5SP1 dotnetfx35.exe
- JRE (Java Runtime Environment) Jre6u43
Unityは開発環境がどうも扱いにくいんだよな。Flashは少なくともコーディング開発環境は無料で用意できるので楽なのだ。 http://qiita.com/advent-calendar/2016/flashers で知ったのだがStarling frameworkというのがよさそうだ。Flash開発環境をあらためて構築してみるだろ。
そのページにあるこの記事に触発されたんだね http://qiita.com/harayoki/items/3d7460ca9bd622147100
開発環境構築はStarling公式説明(英語) http://manual.starling-framework.org/en/ の通りにすればいい。
まず「IDEを選べ」とある。私は、以前から使ってるFlashDevelop(無料)の最新版5.2.0を使うぞ。
FlashDevelopでのStarling環境構築については Starling公式Wiki http://wiki.starling-framework.org/manual/flashdevelop に詳細がある。
またFlashDevelop自身の環境構築は http://www.flashdevelop.org/community/viewforum.php?f=11 のダウンロードページに掲載がある。FlashDevelop 5.0.0以降は .NET 3.5が必要。また最新版5.2.0でもAIR SDK 22+23までしか対応してないとある。
FlashDevelopは今回Portableアプリとしてインストールするぞ。Portableアプリは複数のバージョンを使い分けるとき便利だ。すでにWindows7にはFlashDevelop4が入っているが、それに影響与えずFlashDevelop5を使えるようにする。
Install FlashDevelop
FlashDevelopを動作させるのに必要な .NET framework 3.5SP1(Microsoft製)をインストール。といってもWindows7なら最初からインストール済み。
FlashDevelop最新版を http://www.flashdevelop.org/community/viewforum.php?f=11 から取得してインストール。zip版を取得して C:\home\bin\FlashDevelop5 以下に展開。本来は以下のAdobeAIR SDKとFlashPlayerはFlashDevelop起動後に[Tools → Install Software] でインストールできるのだが、今回は手作業で準備する。
Install AIR SDK
AdobeAIR SDKを動作させるのに必要な JRE (Java Runtime Environment) をインストール。Java7 (ver1.7)の最新版でよいと思うが、私は以前 Java6 (ver1.6)の u43をインストールしていた。
AdobeAIR SDKを https://helpx.adobe.com/jp/air/kb/archived-air-sdk-version.html から取得して展開。FlashDevelopは最新の 25 に非対応のため、対応している 22 を選んだ。「Adobe AIR 22.0.0.153 SDK & Compiler Windows (222 MB)」はzipファイルだったので C:\home\bin\FlashDevelop5\Apps\air22 以下に展開。
Install Flash Player Debugger
FlashPlayer Projector Debuggerというものを取得して配置。 https://www.adobe.com/support/flashplayer/debug_downloads.html で旧版も取得可能だが200MB越えのzipなので展開も面倒なのでこれは最新の「Download the Flash Player projector content debugger」 flashplayer_25_sa_debug.exe を取得した。これはインストールファイルではなく実行ファイル。C:\home\bin\FlashDevelop5\Apps\flashsa にこのファイルを配置。
Setting FlashDevelop
FlashDevelopを起動して[Tools→Program Setting]で設定。
- [AS3Content - Language - Installed Flex SDKs] で
C:\home\bin\FlashDevelop5\Apps\air22フォルダーを指定。 - [FlashViewer - External Player Path] に
C:\home\bin\FlashDevelop5\Apps\flashsa\flashplayer_25_sa_debug.exeを指定。
これで構築完了。
Build SampleApp
次にStarlingのサンプルプログラムをbuildしてみる。
FlashDevelopで [Project → New Project → AS3 Project] を選択。どのフォルダーに保存するか入力して[]。今回は R:\20170501hello1がProject Folderだ。
Starling frameworkを http://gamua.com/starling/download/ から取得。
starling-2.1.zipを展開して、starling.swc を取り出し、R:\20170501test1\lib\ に starling.swc を配置。
FlashDevelopで [Project → Properties → Compiler Options → SWC Libraries] に lib/starling.swc と入力。
実は lib/starling.swc を右クリックして[Add To Library] を選べば、[Project → Properties → Compiler Options → SWC Libraries] に lib/starling.swc と自動で入力してくれる。
[Project → Properties → Output → Platform]の FlashPlayer versionを今回導入したAIR SDKのバージョン 22.0 に合わせる。
[Project → Properties → Compiler Options → Additional Compiler Options] に -swf-version=33 と指定。http://wiki.starling-framework.org/manual/flashdevelop によると FlashPlayer/AIR ver22 のswf versionは33。
FlashDevelopで以下を作成。
Main.as
package
{
import flash.display.Sprite;
import starling.core.Starling;
/**
* ...
* @author foo
*/
[SWF(width="400",height="300",frameRate="60",backgroundColor="#808080")]
public class Main extends Sprite
{
private var _st:Starling;
public function Main()
{
_st = new Starling(Game, stage);
_st.start();
}
}
}Game.as
package
{
import starling.display.Quad;
import starling.display.Sprite;
import starling.utils.Color;
/**
* ...
* @author foo
*/
public class Game extends Sprite
{
public function Game()
{
var qd:Quad = new Quad(200, 200, Color.RED);
qd.x = 100;
qd.y = 50;
addChild(qd);
}
}
}FlashDevelopで [Project - Test Project] する。ショートカットキーに掲載がないがFlashProCS6と同じくCtrl+Return押下でいい。 正常ビルドを確認。
以前はFlex SDKというのをインストールしていたけど、入れなくていいのか?
AIR SDKのコンパイラー付きを使うなら、Flex SDKは要らないぞ。
unable to open playerglobal.swc というコンパイルエラーのときの修正箇所
unable to open playerglobal.swc というコンパイルエラーが出たときは
→ frameworks\flex-config.xml を以下に書き換える。これでエラーなし。
+++ C:/home/bin/FlashDevelop5/Apps/air22/frameworks/flex-config.xml.orig Fri May 27 12:50:24 2016
--- C:/home/bin/FlashDevelop5/Apps/air22/frameworks/flex-config.xml Thu Apr 27 23:22:46 2017
@@ -45,3 +45,3 @@
<external-library-path>
- <path-element>libs/player/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}/playerglobal.swc</path-element>
+ <path-element>libs/player/22.0/playerglobal.swc</path-element>
</external-library-path>Install those on VirtualMachine WindowsXP
仮想OSのWindowsXPにもFlashDevelop5.2.0を同じように入れてみた。
- FlashDevelopを動作させるのに必要な .NET framework 3.5SP1 を http://www.atmarkit.co.jp/ait/articles/1211/16/news093_2.html のリンクから取得してインストール。日本語packは入れた方がいいがここでは面倒なので入れてない。仮想XPはネットワークにつなげていないと十数分待たされたがインストールOK。
- AdobeAIR SDKを動作させるのに必要な JRE (Java Runtime Environment) を入れる。Java7 (ver1.7)の最新版でよいと思うが、私は以前取得していた Java6 (ver1.6)の u43というのをインストール。 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html
- FlashDevelop最新版を http://www.flashdevelop.org/community/viewforum.php?f=11 から取得してインストール。本来は以下のAdobeAIR SDKとFlashPlayerはFlashDevelop起動後に[Tools → Install Software] でインストールできるのだが、仮想XPはネットワークつないでないので、手動で取得する。
- AdobeAIR SDKを https://helpx.adobe.com/jp/air/kb/archived-air-sdk-version.html から取得して展開。FlashDevelopは最新の 25 に非対応のため、対応している 22 を選んだ。「Adobe AIR 22.0.0.153 SDK & Compiler Windows (222 MB)」はzipファイルだったので適当なフォルダーに展開。
- FlashPlayer Projector Debuggerというものを取得して配置。 https://www.adobe.com/support/flashplayer/debug_downloads.html で旧版も取得可能だが200MB越えのzipなので展開も面倒なのでこれは最新の「Download the Flash Player projector content debugger」
flashplayer_25_sa_debug.exeを取得した。これはインストールファイルではなく実行ファイル。適当なフォルダーにこのファイルを配置。 - FlashDevelopを起動して設定。
- Starling frameworkを取得してビルド。
しかし仮想XPだとウィンドウ内表示がおかしい。
同じswfファイルを同じFlashViewerで見ると、実在Win7なら正常表示。buildは正常にできているが、表示がおかしいということだな。 StarlingはGPUで表示するのだが、この仮想XPを動作させている仮想OSソフト VMwarePlayer3.1.6(2012-06) はGPU表示に非対応らしい。
GPU表示ではなくCPUレンダリングにすると表示される。遅くなるけどな。
--- Main.as.1 2017-04-25 13:52:00.150639500 +0900
+++ Main.as 2017-04-27 21:04:40.103817100 +0900
@@ -15,3 +15,3 @@
{
- _starling = new Starling(Game, stage);
+ _starling = new Starling(Game, stage, null, null, "software");
_starling.start();
無料ソフトだけで、ネットワーク非接続の仮想OSの中でビルドできるとは、確かにUnityより開発環境は自由かもね。












0 件のコメント:
コメントを投稿