Я сделал сцену в Blender, и теперь мой плеер не двигается. У него нет проблем с загрузкой сцены, но когда я пытаюсь перемещаться с помощью клавиш направления, он не работает. Вот код:
var BABYLON;
var canvas = document.getElementById('gamecanvas');
var engine = new BABYLON.Engine(canvas, true);
var player_height = 2;
var player_speed = 1;
var player_inertia = 0.9;
function INIT_GAME(){
BABYLON.SceneLoader.Load('Scenes/', 'zombie_map.babylon', engine, function(newScene){
newScene.executeWhenReady(function(){
newScene.enablePhysics();
newScene.setGravity(new BABYLON.Vector3(0, -10, 0));
var light = new BABYLON.PointLight('light', new BABYLON.Vector3(0,0,10), newScene);
var player = new BABYLON.FreeCamera('player', new BABYLON.Vector3(1,1,1), newScene);
player.attachControl(canvas, true);
player.ellipsoid = new BABYLON.Vector3(1, player_height, 1);
player.checkCollisions = true;
player.applyGravity = true;
player.keysUp = [87];
player.keysDown = [83];
player.keysLeft = [65];
player.keysRight = [68];
player.inertia = player_inertia;
player.speed = player_speed;
engine.runRenderLoop(function(){
newScene.render();
});
});
});
canvas.height = window.innerHeight;
canvas.width = window.innerWidth;
canvas.requestPointerLock = canvas.requestPointerLock || canvas.mozRequestPointerLock;
canvas.requestPointerLock();
window.addEventListener('resize', function(){
engine.resize();
});
}
Если вы видите, почему я не могу двигаться, дайте мне знать. Спасибо!
engine.runRenderLoop
в нижнюю часть функцииINIT_GAME
, чтобы все, что касается вашего плеера и сцены, было полностью инициализировано до начала рендеринга сцены? Я предполагаю, что параметр новостной сцены, переданный при построении объектов PointLight и FreeCamera, связывает их со сценой? И, возможно, попробуйте временно удалить код блокировки указателя, чтобы увидеть, не мешает ли эта блокировка работе FreeCamera. - person ManoDestra   schedule 01.04.2016engine.getRenderingCanvas()
. - person ConnorsFan   schedule 03.04.2016canvas.requestPointerLock
в своем коде. (Отказ от ответственности: я не использую SceneLoader). - person ConnorsFan   schedule 03.04.2016