i was working on a project and i needed the latest babylon version and i found a trick to do it, see:
Code: Select all
IncludeFile "babylon/babylon.sbi"
Global nLoaded, nImports = 2
UseModule BJS
Declare LoadGame()
Declare RenderGame()
Procedure Main()
InitKey()
!if (BABYLON.Engine.isSupported()) {
!$('<canvas>').attr('id', 'renderCanvas')
! .css({ width : '100%', height : '100%' })
! .appendTo('body');
! v_bjscanvas = document.getElementById('renderCanvas');
! v_bjsengine = new BABYLON.Engine(v_bjscanvas, true); //, { preserveDrawingBuffer: true, stencil: true });
! window.addEventListener('resize', function(){v_bjsengine.resize(); });
!}
LoadGame()
EndProcedure
Procedure Define_Disable()
EnableJS
window['hide-define'] = null;
if(typeof define === 'function' && define.amd) {
window['hide-define'] = define;
define = null;
}
DisableJS
EndProcedure
Procedure Define_Enable()
EnableJS
if(window['hide-define'] != null) {
define = window['hide-define'];
window['hide-define'] = null;
}
DisableJS
EndProcedure
Procedure ScriptLoaded(URL$, Success)
If Success
nLoaded + 1
If nLoaded = nImports ; the number of files to import
Define_Enable() ; our imports have completed so restore define
Main()
EndIf
Else
Debug "Failed to load external: " + URL$
EndIf
EndProcedure
procedure LoadGame()
!const canvas = v_bjscanvas;
!const engine = v_bjsengine;
!v_bjscurrentscene = new BABYLON.Scene(engine);
!v_bjsengine = engine;
Camera = 0
!v_camera = new BABYLON.FreeCamera("camera1", new BABYLON.Vector3(0, 5, -30), v_bjscurrentscene);
Scene = 0
!v_scene = v_bjscurrentscene;
!var gravityVector = new BABYLON.Vector3(0,-210.81, 0);
!var physicsPlugin = new BABYLON.CannonJSPlugin();
!v_scene.enablePhysics(gravityVector, physicsPlugin);
!v_scene.clearColor = new BABYLON.Color3( .0, .0, .0);
; Camera = CreateCamera("camera", 0, 5, 7, #BJS_ArcRotate)
Light = CreateLight("light", 0, 10, 0)
;Objects (Plane, Sphere, ....)
Plane = CreateGround("plane", 10, 10)
Sphere = CreateSphere("sphere", 2)
MoveMesh(Sphere, 0, 2, 0)
Cylinder= CreateCylinder("cylinder", 2, 2, 2)
MoveMesh(Cylinder, 3, 1, -2)
Cube = CreateBox("cube", 2 , 2, 4)
MoveMesh(Cube, -3, 1, -2)
Torus = CreateTorus("torus", 2, 1)
MoveMesh(Torus, -2, 0.5, 2)
RenderLoop(@RenderGame())
endprocedure
Procedure RenderGame()
RenderWorld()
endprocedure
Define_Disable() ; temporarily move define so it doesn't interfere with our imports
LoadScript("https://preview.babylonjs.com/babylon.js", @ScriptLoaded())
LoadScript("https://preview.babylonjs.com/cannon.js", @ScriptLoaded())
;LoadScript("https://cdn.babylonjs.com/babylon.js", @ScriptLoaded())
;LoadScript("https://cdn.babylonjs.com/cannon.js", @ScriptLoaded())