Downloading...
lastX = 0 lastY = 0 lastPressX = 0 lastPressY = 0 scene = Scene() uiscene = Scene() camera = Camera(scene) terrain = Terrain(scene) sun = Light(scene) textcontainer = Container(uiscene) text = Text(uiscene) text2 = Text(uiscene) text3 = Text(uiscene) text4 = Text(uiscene) function onUpdate() text.text = "FPS: " .. tostring(Engine.framerate) text2.text = "Camera X: " .. tostring(camera.position.x) text3.text = "Camera Y: " .. tostring(camera.position.y) text4.text = "Camera Z: " .. tostring(camera.position.z) if (Input.isKeyPressed(Input.KEY_UP) or Input.isKeyPressed(Input.KEY_W)) then camera:walkForward(1) end if (Input.isKeyPressed(Input.KEY_DOWN) or Input.isKeyPressed(Input.KEY_S)) then camera:walkForward(-1) end if Input.isKeyPressed(Input.KEY_LEFT) then camera:rotateView(1) end if Input.isKeyPressed(Input.KEY_RIGHT) then camera:rotateView(-1) end if Input.isKeyPressed(Input.KEY_A) then camera:slide(-1) end if Input.isKeyPressed(Input.KEY_D) then camera:slide(1) end end function onTouchStart(pointer, x, y) lastX = x lastY = y lastPressX = x lastPressY = y end function onTouchMove(pointer, x, y) difX = lastX - x lastX = x camera:rotateView(0.1 * difX) difY = lastY - y lastY = y camera:elevateView(-0.1 * difY) end function onKeyDown(key, rep, mods) if (key == Input.KEY_X) then camera:setPosition(camera.position.x, camera.position.y+10, camera.position.z); camera:setTarget(camera.view.x, camera.view.y+10, camera.view.z); end if (key == Input.KEY_Z) then camera:setPosition(camera.position.x, camera.position.y-10, camera.position.z); camera:setTarget(camera.view.x, camera.view.y-10, camera.view.z); end end function onKeyUp(key, rep, mods) if (key == Input.KEY_F) then if (not System.isFullscreen()) then System.requestFullscreen(); else System.exitFullscreen(); end end end camera.position = Vector3(0, 15, -60) terrain.name = "terrain" terrain:setHeightMap("heightmap.png") terrain:setTexture("ground.png") terrain:setBlendMap("blendmap.png") terrain:setTextureDetailRed("block.png"); terrain:setTextureDetailGreen("block.png"); terrain:setTextureDetailBlue("block.png"); scene.camera = camera.entity; scene.globalIlluminationIntensity = 0.1; sun:setType(LightType.DIRECTIONAL) sun:setDirection(0.0, -0.3, -0.8) sun:setShadows(true) textcontainer.anchorPreset = AnchorPreset.TOP_LEFT textcontainer:addChild(text) textcontainer:addChild(text2) textcontainer:addChild(text3) textcontainer:addChild(text4) Engine.setCanvasSize(1000,480) Engine.setScene(scene) Engine.addSceneLayer(uiscene) Engine.callTouchInMouseEvent = true Engine.onUpdate = onUpdate Engine.onTouchStart = onTouchStart Engine.onTouchMove = onTouchMove Engine.onKeyDown = onKeyDown Engine.onKeyUp = onKeyUp