1

クラスの1つのパラメーターを、そのクラスのインスタンスに固有の関数にしたいと思います。この場合、スプライトクラスがあり、このクラスのさまざまなインスタンスに対してさまざまな「onCollide」関数を呼び出す必要があります。これが私がコーディングしたものです。

function StaticSprite(tileset, x, y, onCollide) {
    this.tileset = tileset;
    this.x = x;
    this.y = y;
    this.onCollide = onCollide;
}

var introSign = new StaticSprite(mainTiles, 800, 600, showMessage('Hi.'));

if (isColliding(player, introSign)) {
    introSign.onCollide();
}

このコードは明らかに機能しませんが、少なくとも私が達成しようとしていることを示す必要があります。ありがとう。

4

1 に答える 1

6

関数を実行して結果を渡すのではなく、関数を渡すだけです。

new StaticSprite(..., function () { showMessage('Hi.'); })
于 2013-01-04T15:12:12.840 に答える