そこで、html で定義されたボタンが押されたときに関数を呼び出したいと思います。問題は、コンソールに「参照エラー: 関数が定義されていません」というエラーが記録されることです。
私のoutput.js(結合およびコンパイルされたtypescript)の簡素化されたレイアウトは次のようになります:
window.onload = function () {
var game = new SpaceGen.Game();
};
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var SpaceGen;
(function (SpaceGen) {
var Game = (function (_super) {
__extends(Game, _super);
function Game() {
_super.call(this, 512, 640, Phaser.AUTO, 'content');
this.state.add('state_World', SpaceGen.World, false);
this.state.start('state_World');
}
return Game;
})(Phaser.Game);
SpaceGen.Game = Game;
})(SpaceGen || (SpaceGen = {}));
var SpaceGen;
(function (SpaceGen) {
var World = (function (_super) {
__extends(World, _super);
function World() {
_super.apply(this, arguments);
...
}
World.prototype.getSeed = function () {
console.log("submitted");
var seed = document.getElementById('seed')[0].value;
};
return World;
})(Phaser.State);
SpaceGen.World = World;
})(SpaceGen || (SpaceGen = {}));
次のようにhtmlファイルで関数を呼び出します。
<input id="seed" type="number" name="seed" value="111" />
<button onclick="getSeed()">Start</button>
output.js (およびこれは Phaser を使用しているため、phaser.js) がロードされ、(他の) すべてが正常に動作します。
関数を呼び出すにはどうすればよいですか? 私は this.game.getSeed() 、 game.getSeed() など、かなり多くのことを試しました。