我正在尝试创建一个在其中运行voxel-hello-world的最小静态HTML页面。为此,我创建了this project。
当我打开voxel1.html页面时,我什么都没看到。如果一切正常,我会在浏览器中看到类似Minecraft的景观。
我认为问题是在加载页面时,bundle.js脚本的以下部分未执行:
module.exports = function(opts, setup) {
setup = setup || defaultSetup
var defaults = {
generate: voxel.generator['Valley'],
chunkDistance: 2,
materials: ['#fff', '#000'],
materialFlatColor: true,
worldOrigin: [0, 0, 0],
controls: { discreteFire: true }
}
opts = extend({}, defaults, opts || {})
// setup the game and add some trees
var game = createGame(opts)
var container = opts.container || document.body
window.game = game // for debugging
game.appendTo(container)
if (game.notCapable()) return game
var createPlayer = player(game)
// create the player from a minecraft skin file and tell the
// game to use it as the main player
var avatar = createPlayer(opts.playerSkin || 'player.png')
avatar.possess()
avatar.yaw.position.set(2, 14, 4)
setup(game, avatar)
return game
}
在页面加载时,确保执行上述代码的正确方法是什么?
注意:不要告诉我安装Node.JS或任何其他JavaScript服务器。我想运行这个特殊的例子没有服务器。
答案 0 :(得分:1)
您可以使用 window.onload 并将function
或您想要的内容传递到function
window.onload = function(){
}
答案 1 :(得分:-1)
假设所有其他j已经到位,并且你有jquery可用,只需:
var game;
$(document).ready(function(){
game=module.exports(opts,setup);
})