LoginSignup
8
8

More than 5 years have passed since last update.

Unity4.3新機能とか Haxeで何かつくったはなし。(前編 : Haxeビルドまで。)

Last updated at Posted at 2013-12-14

Haxeで、Unity3Dの4.3の新機能を使い、2Dゲームを作った話し。

Haxe + Unity3D

  • Unity3d 4.3.1
  • Haxe 3.0.1

エディタ

  • Sublime Textでやってみた。

環境構築

  • Mac OS 10.9, Marvericks

Unity

Haxeのインストールとか

やりかたは2つ

  • ココでダウンロードする( http://haxe.org/download )
  • 最近はhomebrewで入れるのもありかも ( brew install haxe )

ひたすらhaxelib install

コンパイルしたりするのに必要だお

haxelib install hxcs
haxelib install unity3d

プロジェクトを作る。

はいこんな感じ、Unity3d起動して、New Project。プロジェクト名は「Haxe-Unity」

スクリーンショット 2013-12-14 9.36.23.png

Unity3dで、Haxeをビルドしてみたりする

さて、Unity3dのプロジェクトは、Assets Folderにイロイロスクリプトやら、画像やらモデルデータを放り込むので、Assets FolderにHaxeのコードも含めるようにしよー。

ターミナルで

# Haxe-Unityに移動する。
cd Haxe-Unity
# Haxeでなんかやるディレクトリ
mkdir haxe
# Haxeのソースを置くディレクトリ
mkdir haxe/src

という感じでディレクトリを構成しておいて、

build.hxmlを、Haxe-Unity/haxe/build.hxmlに置いて、こんな感じでhxmlを書いておくんー。

-lib unity3d
-cp src/
-cs cs
-D no-compilation
MyClass

これは、MyClassというhaxeのクラスをUnityでコンパイルするという意味です。そしたら、haxeでMyClassをつくりましょう。MyClass.hxを、src以下に配置したー。

ちなみにコードはコレ

speedとTargetを指定して、それに向かって進むというスクリプトですの。

MyClass.hx
package ;
import unityEngine.MonoBehaviour;
import unityEngine.Time;
import unityEngine.Vector3;
import unityEngine.GameObject;
using UnityHelper;

class MyClass extends MonoBehaviour {
    public var target:GameObject;
    public var speed:Single;
    private function Start():Void {

    }
    private function Update():Void {
        if (speed == 0) return;
        getTransform().position = Vector3.MoveTowards(getTransform().position, target.transform.position, Time.deltaTime * speed);
    }
}

そしたら、ビルドしてみる

haxe build.hxml

とすると csディレクトリができて、めっちゃそれ以下に一杯ファイルができる。
んで、Unity3dが出きたcsファイルぜーんぶコンパイルしようとするので、ちょっとスクリプトが有効になるまで時間がかかります。

MyClassをつかってみる。

Scene設定はこんな感じ

スクリーンショット 2013-12-14 10.34.30.png

CubeのInspectorはこんなかんじ

スクリーンショット 2013-12-14 10.34.53.png

これで実行すると、Main CameraにCubeが近づいていきます。

後編へ続く

こっからは、Unity2Dの機能とかをフルに使って2Dゲームを作って行くので、明日の
Unity Advent Callendar ( http://qiita.com/advent-calendar/2013/unity )が僕の担当なのでそこで、ゲームもUnity2D + Haxeで、2Dゲームを作る(後編)をやります。たのしみにねー。

明日のHaxe Advent Callendarは

@arlez80君です。よろしくー。

8
8
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8