[]
次のような演算子を使用して、アクセスのような配列をサポートするHaxeでクラスを作成しようとしています。
var vector = new Vec3();
trace(vector.length); // displays 3
vector[0] = 1; // array like access to the class, how?
vector[1] = 5.6; // more array access
vector[2] = Math.PI; // yet more array access
[]
問題は、演算子を許可するようにクラスを定義する方法がわからないことです。ストーリーボードを使用してベクトルの一部を参照するアニメーションシステムをサポートするために、Array<Float>
またはを使用するのではなく、このクラスが必要です( http://www.youtube.com/watch?v=ijF50rRbRZIを参照)List<Float>
C#では次のように書くことができます:
public float this[index] { get { ... } set { .... } }
Haxeのドキュメントを読んで見つけましArrayAccess<T>
たが、インターフェイスが空です。つまり、それを実装する方法がわかりません。または、実装するだけの場合...上記のインデックスArrayAccess<Float>
で取得するためにクラスのどのメソッドが呼び出されますか?Float