new file: Files/flashplayer_32_sa.exe new file: favicon.ico new file: globe.gif new file: imgs/download.png new file: imgs/zuck.jpg new file: index.html new file: other.ico new file: script.js new file: site.webmanifest new file: sitemap.html new file: styles/backround.css new file: styles/border.css new file: styles/fonts/Titillium_Web/OFL.txt new file: styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf new file: styles/fonts/webfontkit-20221027-163353/generator_config.txt new file: styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2 new file: styles/fonts/webfontkit-20221027-165950/generator_config.txt new file: styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2 new file: styles/style.css new file: tools/2048/.gitignore new file: tools/2048/.jshintrc new file: tools/2048/CONTRIBUTING.md new file: tools/2048/LICENSE.txt new file: tools/2048/README.md new file: tools/2048/Rakefile new file: tools/2048/favicon.ico new file: tools/2048/index.html new file: tools/2048/js/animframe_polyfill.js new file: tools/2048/js/application.js new file: tools/2048/js/bind_polyfill.js new file: tools/2048/js/classlist_polyfill.js new file: tools/2048/js/game_manager.js new file: tools/2048/js/grid.js new file: tools/2048/js/html_actuator.js new file: tools/2048/js/keyboard_input_manager.js new file: tools/2048/js/local_storage_manager.js new file: tools/2048/js/tile.js new file: tools/2048/meta/apple-touch-icon.png new file: tools/webretro/cores/neocd_libretro.js new file: tools/webretro/cores/neocd_libretro.wasm new file: tools/webretro/cores/nestopia_libretro.js new file: tools/webretro/cores/nestopia_libretro.wasm new file: tools/webretro/cores/o2em_libretro.js new file: tools/webretro/cores/o2em_libretro.wasm new file: tools/webretro/cores/opera_libretro.js new file: tools/webretro/cores/opera_libretro.wasm
73 lines
2.2 KiB
JavaScript
73 lines
2.2 KiB
JavaScript
/*
|
|
* HexGL
|
|
* @author Thibaut 'BKcore' Despoulain <http://bkcore.com>
|
|
* @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License.
|
|
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/.
|
|
*/
|
|
|
|
var bkcore = bkcore || {};
|
|
bkcore.hexgl = bkcore.hexgl || {};
|
|
|
|
bkcore.hexgl.CameraChase = function(opts)
|
|
{
|
|
this.dir = new THREE.Vector3(0,0,1);
|
|
this.up = new THREE.Vector3(0,1,0);
|
|
this.target = new THREE.Vector3();
|
|
this.speedOffset = 0;
|
|
this.speedOffsetMax = 10;
|
|
this.speedOffsetStep = 0.05;
|
|
|
|
this.modes = {
|
|
CHASE: 0,
|
|
ORBIT: 1
|
|
}
|
|
this.mode = this.modes.CHASE;
|
|
|
|
this.camera = opts.camera;
|
|
this.targetObject = opts.target;
|
|
this.cameraCube = opts.cameraCube == undefined ? null : opts.cameraCube;
|
|
|
|
this.yoffset = opts.yoffest == undefined ? 8.0 : opts.yoffest;
|
|
this.zoffset = opts.zoffset == undefined ? 10.0 : opts.zoffset;
|
|
this.viewOffset = opts.viewOffset == undefined ? 10.0 : opts.viewOffset;
|
|
this.orbitOffset = 12;
|
|
this.lerp = opts.lerp == undefined ? 0.5 : opts.lerp;
|
|
this.time = 0.0;
|
|
}
|
|
|
|
bkcore.hexgl.CameraChase.prototype.update = function(dt, ratio)
|
|
{
|
|
if(this.mode == this.modes.CHASE)
|
|
{
|
|
this.dir.set(0,0,1);
|
|
this.up.set(0,1,0);
|
|
|
|
this.targetObject.matrix.rotateAxis(this.up);
|
|
this.targetObject.matrix.rotateAxis(this.dir);
|
|
|
|
this.speedOffset += (this.speedOffsetMax*ratio - this.speedOffset) * Math.min(1, 0.3*dt);
|
|
|
|
this.target.copy(this.targetObject.position);
|
|
this.target.subSelf(this.dir.multiplyScalar(this.zoffset + this.speedOffset));
|
|
this.target.addSelf(this.up.multiplyScalar(this.yoffset));
|
|
this.target.y += -this.up.y + this.yoffset;
|
|
this.camera.position.copy(this.target);
|
|
|
|
this.camera.lookAt(this.dir.normalize().multiplyScalar(this.viewOffset).addSelf(this.targetObject.position));
|
|
}
|
|
else if(this.mode == this.modes.ORBIT)
|
|
{
|
|
this.time += dt*.008;
|
|
this.dir.set(
|
|
Math.cos(this.time)*this.orbitOffset,
|
|
this.yoffset/2,
|
|
Math.sin(this.time)*this.orbitOffset
|
|
);
|
|
this.target.copy(this.targetObject.position).addSelf(this.dir);
|
|
this.camera.position.copy(this.target);
|
|
this.camera.lookAt(this.targetObject.position);
|
|
}
|
|
|
|
if(this.cameraCube != null)
|
|
this.cameraCube.rotation.copy(this.camera.rotation);
|
|
} |