mieki256's diary



2020/01/09(木) [n年前の日記]

#1 [haxe] Haxeを少しだけ再勉強

ふとなんとなく、Haxe が気になったわけで。ググってみたら、今時は Haxe 4.0.5 が公開されていると知り、一応アップデートしておこうかと。

_Haxe - The Cross-platform Toolkit

環境は、Windows10 x64 1909。Microsoft Visual Studio Community 2019 その他もインストールしてある環境なので、C++コンパイラ等は一応動くはず。たぶん。

前のバージョンをアンインストール。 :

Haxe 3.x.x をインストール済みだったので、一旦アンインストールした。C:\HaxeToolkit\ にインストールしてあったので、その中の Uninstall.exe を実行。haxeフォルダとnekoフォルダが削除された。

Haxe 4.0.5をインストール。 :

haxe-4.0.5-win64.exe をDLして実行。Haxe 4.0.5 と Neko 2.3.0 を、D:\HaxeToolkit\ にインストールした。

以前は Cドライブに入れていたけど、空き容量が厳しかったから Dドライブに移動してシンボリックリンクを張っていた状態で…。今回は、最初から Dドライブに入れてしまうことにした。

一応、環境変数PATHに、インストール場所を追加。

ライブラリをインストール。 :

DOS窓を開いて、C:\HaxeToolkit\haxe\ をカレントディレクトにして、haxelib.exe を使ってライブラリをインストールしていく。

最初、 _NME をインストールしてみたのだけれど。

haxelib install hxcpp
haxelib install nme
haxelib run nme setup

しかし、 _サンプル すら動いてるように見えず。以下のように打ってみても、fake enum がどうとかのエラーが出ているように見える。
nme test html5
nme test windows

ググってみたら、NME は _OpenFL に変わった、という話を見かけた。だったら、そちらに移行すべきなのかな…。

NME を削除。OpenFL をインストール。
haxelib remove nme

haxelib install openfl
haxelib run openfl setup

しかし、OpenFL のサンプルを動かそうとしたものの、html5 や windows は動いても、neko を指定すると cffi がどうとかのエラーが出る。

_Could not find nekoAPI interface (Windows 10) - Help - OpenFL Community

別途、lime をインストールし直せと言ってるように見えるな…。

haxelib install lime
haxelib install hxcpp
haxelib install openfl
haxelib run openfl setup

以下のライブラリがインストールされた。
> haxelib list
actuate: [1.8.9]
box2d: [1.2.3]
hxcpp: [4.0.64]
layout: [1.2.1]
lime-samples: [7.0.0]
lime: [7.6.3]
openfl-samples: [8.7.0]
openfl: [8.9.5]

最低限動くのかどうかを確認。
haxelib run lime
haxelib run openfl
各ライブラリのロゴっぽいものが、AsciiArt で表示された。

OpenFLの サンプルを動かしてみる。 :

OpenFLのサンプルを動かしてみる。

任意のフォルダを作成して、その中で、openfl create と打つ。利用できるサンプルの一覧が表示される。
> openfl create

You must specify a template when using the 'create' command.

 Usage: openfl create project (directory)
 Usage: openfl create extension (directory)
 Usage: openfl create <sample> (directory)

 Available samples:

  * AddingAnimation
  * AnimatedTilemap
  * CompareBitmapData
  * CustomPreloader
  * CustomRendering
  * DisplayingABitmap
  * DrawingShapes
  * SimpleTilemap
  * UsingBitmapData
  * CreatingAMainLoop
  * CreatingCustomEvents
  * HandlingKeyboardEvents
  * HandlingMouseEvents
  * PlayingSound
  * PlayingVideo
  * AddingText
  * GamepadInput
  * JoystickInput
  * GLSLBitmap
  * HelloTriangle
  * Stage3DCamera
  * Stage3DMipmap
  * BrowserExternalInterface
  * ActuateExample
  * SimpleBox2D
  * SimpleSWFLayout
  * BunnyMark
  * HerokuShaders
  * NyanCat
  * PiratePig
  * TextAlignment
  * TextMetrics

今回は、DisplayingABitmap というサンプルを試してみる。

openfl create DisplayingABitmap

DisplayingABitmap というフォルダが作成された。

中に入って、テスト実行してみる。

cd DisplayingABitmap
openfl test html5

openfl test hoge で、hogeをターゲットとした状態で実行できるらしい。

html5 を指定して実行したので、Webブラウザ上で、OpenFLのロゴ画像っぽいものが表示された。ただ、ブラウザのタブを閉じても、DOS窓上のソレは動きっぱなし。Ctrl + C で強制終了するしかないのかな…?

さて、コレはWindows用としてビルドできるのだろうか。

openfl build windows

大量の *.cpp 名が表示されて、何かが延々とビルドされた。

最終的に、.\Export\windows\bin\ 以下に、DisplayingABitmap.exe が出来上がった。実行するとウインドウが開いて、OpenFLのロゴ画像が表示された。

test を指定して実行してみる。

openfl test windows

今度は、サンプルのみをビルドする状態で実行されたっぽい。先ほどと同じように動作した。

neko用は動くだろうか。

openfl test neko

今回は動いてくれた。ウインドウが開いてロゴ画像が表示された。

#2 [haxe] Haxe + HashLink を試用

Haxe には、Neko という仮想マシン(?)が一緒に用意されている・インストールされるけど。最近は、HashLink なるHaxe用の仮想マシンがあるらしい。

_HashLink - Haxe Virtual Machine

Neko じゃなくて、そちらを使ったほうがいいのだろうか。分からんけど。とりあえず、触ってみるか…。環境は、Windows10 x64 1909 + Haxe 4.0.5。

HashLinkをインストール。 :

以下を参考にしながら、インストールを試みた。

_HaxeでHashLink/SDLを使ってみる - Qiita

以下から、hl-1.10.0-win.zip を入手。

_Releases - HaxeFoundation/hashlink

解凍して、任意のフォルダに置く。今回は、D:\Dev\hashlink\ というフォルダを作って、その中に入れた。

インストールしたフォルダのパスを、環境変数PATHに追加しておく。

おもむろに、hl.exe を実行してみる。
> hl

HL/JIT 1.10.0 (c)2015-2019 Haxe Foundation
  Usage : hl [--debug <port>] [--debug-wait] <file>

これで、hl と打てば HashLink が呼び出せる状態になった。

HashLinkでHelloworld。 :

任意のフォルダを作成して、その中で Helloworld をしてみる。以下の2つのファイルを作成。
  • src/Main.hx
  • build.hxml

src/Main.hx は以下。前述の解説記事のソレをそのままコピペ。
package;

class Main
{
  static function main()
  {
    trace("Hello, World!");
  }
}

build.hxml は以下。
-cp src
-dce full
-hl bin/helloworld.hl
-main Main
おそらくは、出力先を -hl で指定するのだろう…。今回は、binフォルダ内に helloworld.hl を作れ、と指定。

build.hxml については、以下のページが参考になりそう。

_HashLink - Heaps.io Game Engine

Haxe を使ってコンパイル(?)。

haxe build.hxml

Haxe に build.hxml を渡してやれば、そこで指示された内容でコンパイルされる模様。

binフォルダ以下に helloworld.hl が生成された。HashLink (hl.exe) を使って実行してみる。

> hl bin\helloworld.hl

src/Main.hx:7: Hello, World!

一応動いたように見える。

SDLを試す。 :

haxelib を使って、hlsdl をインストール。
haxelib install hlsdl
> haxelib list
...
hlopenal: [1.5.0]
hlsdl: [1.10.0]
..
hlsdl と hlopenal がインストールされた。

任意のフォルダを作成して、以下の2ファイルを作成。
  • src/Main.hx
  • build.hxml

src/Main.hx は以下。
package;

import sdl.Sdl;
import sdl.Window;

class Main
{
  static function main()
  {
    Sdl.init();
    var mainWindow = new Window("Test", 640, 480);
    Sdl.delay(3000);
    mainWindow.destroy();
    Sdl.quit();
  }
}

build.hxml は以下。
-cp src
-dce full
-lib hlsdl
-hl bin/hlsdl_helloworld.hl
-main Main
-lib hlsdl を書くことで、「hlsdlを使うよ」と指示してる。

Haxe を使ってコンパイル。
haxe build.hxml
bin/hlsdl_helloworld.hl が生成された。

HashLink (hl.exe) で実行。
hl bin\hlsdl_helloworld.hl

真っ白なウインドウが3秒間表示されて、ウインドウが自動で閉じた。どうやら動いてるっぽい。

#3 [haxe] FlashDevelopをアップデートしてみた

Haxeを扱うなら FlashDevelop を使ったほうがいいのかなと思えてきたので、FlashDevelop をアップデート。以前は 4.x.x をインストールしていたと思ったけれど、今は 5.3.3 が公開されてるようだし…。

_FlashDevelop.org - Welcome

環境は Windows10 x64 1909。

古い版をコントロールパネル経由でアンインストール後、FlashDevelop-5.3.3.exe をDL、実行してインストールした。今回は、D:\Dev\FlashDevelop\ 以下にインストール。

ツール → ソフトウェアをインストール、を選ぶと色々インストールできるのだけど…。Haxe + Neko のバージョンが、3.4.7 と表示されている…。しかも、チェックを入れてインストールを試みたら、エラーになった。インストーラのダウンロードURLが消滅している模様。

どうやら、FlashDevelop 5.3.3 は、Haxe 3.x.x を前提にした状態のまま、らしい。これはもう、今後 FlashDevelop で Haxe を扱うことは考えていないということだろうか…。

2019/01/10追記。 :

おそらくは Haxe に特化した、HaxeDevelop なるものもあるらしい。

_Build and debug cross platform applications using Haxe - HaxeDevelop

現行バージョンは、FlashDevelop と同じ、5.3.3。ただ、リリース日が、2018/02/28 となっている。Haxe 4.0.0 の公開日が、2019/10/26なので…ひょっとすると、HaxeDevelop も、Haxe 4.x には対応してないんじゃないか…。

_Haxe 4.0.0 - Haxe - The Cross-platform Toolkit

試しに HaxeDevelop 5.3.3 をインストールしてみた。FlashDevelop と同様に、Haxe + Neko をインストールしようとしたら、3.4.7 と表示されていて、かつ、ダウンロード先URLも消滅している。コレも Haxe 4.x には対応していないようだなと。

インストール先は D:\Dev\HaxeDevelop\ にした、とメモ。

以上、1 日分です。

過去ログ表示

Prev - 2020/01 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project