2012-09-14 25 views
3

我正在試圖爲Haxe創建一個KineticJS的extern。而且我正在進行'變形'課程,但我錯過了幾件,所以我雖然有人在這裏可以提供幫助。創建Haxe extern,返回類型

extern class Transform { 
    public function new(); 
    public function translate(x:Float, y:Float):Void; 
    public function scale(sx:Float, sy:Float):Void; 
    public function rotate(rad:Float):Void; 

    /** 
    * Returns the translation 
    * @returns {Object} 2D point(x, y) 
    */ 
    getTranslation: function() { 
     return { 
      x: this.m[4], 
      y: this.m[5] 
     }; 
    }, 

    public function multiply(matrix:Transform):Void; 
    public function invert():Void; 

    /** 
    * return matrix 
    */ 
    getMatrix: function() { 
     return this.m; 
    } 
} 

所以,你可以看到我失去了getTranslationgetMatrix。這是因爲我不確定他們的返回類型應該是什麼。這裏有幫助嗎?

對於那些想知道,因爲跟着m變量定義:

Kinetic.Transform = function() { 
    this.m = [1, 0, 0, 1, 0, 0]; 
} 

非常感謝!

-P

回答

6

m鑑於正存儲矩陣,它應該是一個Array<Float>

getTranslation的返回類型是structure

所以在最後的職能應該是:

public function getMatrix():Array<Float>; 

public function getTranslation():{ x:Float, y:Float }; 
+0

感謝:d這完美地工作:d –