Ich habe mir viele verschiedene Tutorials angeschaut, um etwas über die Programmierung zu lernen, die ich gemacht habe, und ich habe einen gemeinsamen Unterschied bemerkt. Im Grunde verwenden manche Leute HTML nur zum Schreiben von Skripten, unter Verwendung des Skript-Tags, und manche Leute benutzen JavaScript und verweisen auf das Skript. Mein Problem liegt in zwei Codes. Die erste:Dinge in <script> aufrufen oder JavaScript verwenden?
<!DOCTYPE html>
<html>
<head>
<script src='babylon.js'></script>
<title>game or some shit</title>
<meta charset="utf-8">
<style>
.canvas {
height: 100%;
width: 100%;
padding:0;
margin:0;
overflow: hidden;
}
</style>
</head>
<body>
<canvas id='gamecanvas'></canvas>
<script>
var BABYLON;
var canvas = document.getElementById('gamecanvas');
var engine = new BABYLON.Engine(canvas, true);
var scene = new BABYLON.Scene(engine);
var camera = new BABYLON.ArcRotateCamera('camera', 1,2,20, new BABYLON.Vector3(0,0,0), scene);
var light = new BABYLON.PointLight('light', new BABYLON.Vector3(0,0,10), scene);
var ball = new BABYLON.Mesh.CreateSphere('ball', 10, 1.0, scene);
scene.activeCamera.attachControl(canvas);
engine.runRenderLoop(function()
{
scene.render();
});
canvas.height = window.innerHeight;
canvas.width = window.innerWidth;
</script>
</body>
</html>
Funktionen richtig, aber wenn ich es in einem Skript mit einem externen Skript wie folgt verweisen:
var BABYLON;
var canvas = document.getElementById('gameCanvas');
var engine = new BABYLON.Engine(canvas, true);
var scene = new BABYLON.Scene(engine);
var camera = new BABYLON.ArcRotateCamera('camera', 1,2,20, new BABYLON.Vector3(0,0,0), scene);
var light = new BABYLON.PointLight('light', new BABYLON.Vector3(0,0,10), scene);
var ball = new BABYLON.Mesh.CreateSphere('ball', 10, 1.0, scene);
function INIT_GAME()
{
canvas.height = window.innerHeight;
canvas.width = window.innerWidth;
scene.activeCamera.attachControl(canvas);
engine.runRenderLoop(function()
{
scene.render();
});
}
und nennen Sie es in HTML
<!DOCTYPE html>
<html>
<head>
<script src='jquery2.2.2.min.js'></script>
<script src='game.js'></script>
<script src='jquery.js'></script>
<script src='babylon.js'></script>
<title>beta af lmaoo</title>
<meta charset="utf-8">
<style>
.background {
position: absolute;
height: 100%;
width: 100%;
top: 0px;
left: 0px;
}
.start {
position:absolute;
bottom:21%;
right:40%;
}
.canvas {
height: 100%;
width: 100%;
padding:0;
margin:0;
overflow: hidden;
}
</style>
</head>
<body>
<canvas id='gameCanvas'></canvas>
<menu>
<img class='background' src='Images/backgroundImg.jpg'/>
<embed src='Audio/backgroundMusic.mp3' autoplay='true' loop='true' width='0' height='0'/>
<input class='start' type='image' src='Images/start.jpg' width='275' height='150' onclick='INIT_GAME();'/>
</menu>
</body>
</html>
Es spielt keine Funktion nicht. Kann mir jemand sagen, warum das Skript nicht funktionieren wird, wenn ich es extern in eine andere JavaScript-Datei eintippe und es anrufe, aber in Vanilla-HTML? Welche bevorzugen Sie auch zu verwenden? Verwenden Sie <script>
besser oder verwenden Sie eine JavaScript-Datei?
Um es zu beheben, können Sie den Dateiverweis auf den Körper verschieben. Ich schätze, du könntest warten bis das Dom geladen ist. –
Also, Bestellung ist wichtig. Gut zu wissen. Ich werde das im Hinterkopf behalten –