mieki256's diary



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

#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秒間表示されて、ウインドウが自動で閉じた。どうやら動いてるっぽい。

以上です。

過去ログ表示

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