我正在尝试为 Haxe 制作 KineticJS 的 extern。我正在制作“转换”类(class),但我遗漏了一些部分,所以我认为这里有人可以提供帮助。

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

最佳答案

鉴于 m 正在存储一个矩阵,它应该是一个 Array<Float>

getTranslation 的返回类型是 structure

所以最后的功能应该是:

public function getMatrix():Array<Float>;

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

关于haxe - 创建 Haxe extern,返回类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12428761/

10-13 05:18