├── .bowerrc ├── .gitignore ├── README.md ├── app ├── bower_components │ ├── jquery │ │ ├── .bower.json │ │ ├── MIT-LICENSE.txt │ │ ├── bower.json │ │ ├── dist │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ │ └── jquery.min.map │ │ └── src │ │ │ ├── ajax.js │ │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── load.js │ │ │ ├── parseJSON.js │ │ │ ├── parseXML.js │ │ │ ├── script.js │ │ │ ├── var │ │ │ │ ├── nonce.js │ │ │ │ └── rquery.js │ │ │ └── xhr.js │ │ │ ├── attributes.js │ │ │ ├── attributes │ │ │ ├── attr.js │ │ │ ├── classes.js │ │ │ ├── prop.js │ │ │ ├── support.js │ │ │ └── val.js │ │ │ ├── callbacks.js │ │ │ ├── core.js │ │ │ ├── core │ │ │ ├── access.js │ │ │ ├── init.js │ │ │ ├── parseHTML.js │ │ │ ├── ready.js │ │ │ └── var │ │ │ │ └── rsingleTag.js │ │ │ ├── css.js │ │ │ ├── css │ │ │ ├── addGetHookIf.js │ │ │ ├── curCSS.js │ │ │ ├── defaultDisplay.js │ │ │ ├── hiddenVisibleSelectors.js │ │ │ ├── support.js │ │ │ ├── swap.js │ │ │ └── var │ │ │ │ ├── cssExpand.js │ │ │ │ ├── getStyles.js │ │ │ │ ├── isHidden.js │ │ │ │ ├── rmargin.js │ │ │ │ └── rnumnonpx.js │ │ │ ├── data.js │ │ │ ├── data │ │ │ ├── Data.js │ │ │ ├── accepts.js │ │ │ └── var │ │ │ │ ├── data_priv.js │ │ │ │ └── data_user.js │ │ │ ├── deferred.js │ │ │ ├── deprecated.js │ │ │ ├── dimensions.js │ │ │ ├── effects.js │ │ │ ├── effects │ │ │ ├── Tween.js │ │ │ └── animatedSelector.js │ │ │ ├── event.js │ │ │ ├── event │ │ │ ├── ajax.js │ │ │ ├── alias.js │ │ │ └── support.js │ │ │ ├── exports │ │ │ ├── amd.js │ │ │ └── global.js │ │ │ ├── intro.js │ │ │ ├── jquery.js │ │ │ ├── manipulation.js │ │ │ ├── manipulation │ │ │ ├── _evalUrl.js │ │ │ ├── support.js │ │ │ └── var │ │ │ │ └── rcheckableType.js │ │ │ ├── offset.js │ │ │ ├── outro.js │ │ │ ├── queue.js │ │ │ ├── queue │ │ │ └── delay.js │ │ │ ├── selector-native.js │ │ │ ├── selector-sizzle.js │ │ │ ├── selector.js │ │ │ ├── serialize.js │ │ │ ├── sizzle │ │ │ └── dist │ │ │ │ ├── sizzle.js │ │ │ │ ├── sizzle.min.js │ │ │ │ └── sizzle.min.map │ │ │ ├── traversing.js │ │ │ ├── traversing │ │ │ ├── findFilter.js │ │ │ └── var │ │ │ │ └── rneedsContext.js │ │ │ ├── var │ │ │ ├── arr.js │ │ │ ├── class2type.js │ │ │ ├── concat.js │ │ │ ├── hasOwn.js │ │ │ ├── indexOf.js │ │ │ ├── pnum.js │ │ │ ├── push.js │ │ │ ├── rnotwhite.js │ │ │ ├── slice.js │ │ │ ├── strundefined.js │ │ │ ├── support.js │ │ │ └── toString.js │ │ │ └── wrap.js │ ├── requirejs │ │ ├── .bower.json │ │ ├── README.md │ │ ├── bower.json │ │ └── require.js │ └── threejs │ │ ├── .bower.json │ │ ├── bower.json │ │ ├── build │ │ ├── three.js │ │ └── three.min.js │ │ └── examples │ │ └── js │ │ ├── AudioObject.js │ │ ├── BlendCharacter.js │ │ ├── BlendCharacterGui.js │ │ ├── Car.js │ │ ├── Cloth.js │ │ ├── CurveExtras.js │ │ ├── Detector.js │ │ ├── ImprovedNoise.js │ │ ├── MD2Character.js │ │ ├── MD2CharacterComplex.js │ │ ├── MarchingCubes.js │ │ ├── Mirror.js │ │ ├── Ocean.js │ │ ├── Octree.js │ │ ├── PRNG.js │ │ ├── ParametricGeometries.js │ │ ├── ShaderDeferred.js │ │ ├── ShaderGodRays.js │ │ ├── ShaderSkin.js │ │ ├── ShaderTerrain.js │ │ ├── ShaderToon.js │ │ ├── SimplexNoise.js │ │ ├── SimulationRenderer.js │ │ ├── SkyShader.js │ │ ├── Sparks.js │ │ ├── TypedArrayUtils.js │ │ ├── UCSCharacter.js │ │ ├── WaterShader.js │ │ ├── cameras │ │ └── CombinedCamera.js │ │ ├── controls │ │ ├── DeviceOrientationControls.js │ │ ├── EditorControls.js │ │ ├── FirstPersonControls.js │ │ ├── FlyControls.js │ │ ├── MouseControls.js │ │ ├── OrbitControls.js │ │ ├── OrthographicTrackballControls.js │ │ ├── PointerLockControls.js │ │ ├── TrackballControls.js │ │ ├── TransformControls.js │ │ └── VRControls.js │ │ ├── crossfade │ │ ├── gui.js │ │ ├── scenes.js │ │ └── transition.js │ │ ├── curves │ │ ├── NURBSCurve.js │ │ ├── NURBSSurface.js │ │ └── NURBSUtils.js │ │ ├── effects │ │ ├── AnaglyphEffect.js │ │ ├── AsciiEffect.js │ │ ├── ParallaxBarrierEffect.js │ │ ├── StereoEffect.js │ │ └── VREffect.js │ │ ├── exporters │ │ ├── OBJExporter.js │ │ ├── STLBinaryExporter.js │ │ ├── STLExporter.js │ │ ├── SceneExporter.js │ │ └── TypedGeometryExporter.js │ │ ├── geometries │ │ ├── ConvexGeometry.js │ │ ├── DecalGeometry.js │ │ ├── hilbert2D.js │ │ └── hilbert3D.js │ │ ├── libs │ │ ├── dat.gui.min.js │ │ ├── msgpack-js.js │ │ ├── pnltri.min.js │ │ ├── require.js │ │ ├── stats.min.js │ │ ├── system.min.js │ │ └── tween.min.js │ │ ├── loaders │ │ ├── AWDLoader.js │ │ ├── AssimpJSONLoader.js │ │ ├── BabylonLoader.js │ │ ├── BinaryLoader.js │ │ ├── ColladaLoader.js │ │ ├── DDSLoader.js │ │ ├── MTLLoader.js │ │ ├── OBJLoader.js │ │ ├── OBJMTLLoader.js │ │ ├── PDBLoader.js │ │ ├── PLYLoader.js │ │ ├── PVRLoader.js │ │ ├── RGBELoader.js │ │ ├── STLLoader.js │ │ ├── SVGLoader.js │ │ ├── TGALoader.js │ │ ├── UTF8Loader.js │ │ ├── VRMLLoader.js │ │ ├── VTKLoader.js │ │ ├── ctm │ │ │ ├── CTMLoader.js │ │ │ ├── CTMWorker.js │ │ │ ├── ctm.js │ │ │ ├── license │ │ │ │ ├── OpenCTM.txt │ │ │ │ ├── js-lzma.txt │ │ │ │ └── js-openctm.txt │ │ │ └── lzma.js │ │ ├── deprecated │ │ │ └── SceneLoader.js │ │ └── gltf │ │ │ ├── glTF-parser.js │ │ │ ├── glTFAnimation.js │ │ │ ├── glTFLoader.js │ │ │ └── glTFLoaderUtils.js │ │ ├── math │ │ ├── ColorConverter.js │ │ └── Lut.js │ │ ├── modifiers │ │ ├── ExplodeModifier.js │ │ ├── SubdivisionModifier.js │ │ └── TessellateModifier.js │ │ ├── objects │ │ └── ShadowMesh.js │ │ ├── postprocessing │ │ ├── AdaptiveToneMappingPass.js │ │ ├── BloomPass.js │ │ ├── BokehPass.js │ │ ├── DotScreenPass.js │ │ ├── EffectComposer.js │ │ ├── FilmPass.js │ │ ├── GlitchPass.js │ │ ├── MaskPass.js │ │ ├── RenderPass.js │ │ ├── SavePass.js │ │ ├── ShaderPass.js │ │ └── TexturePass.js │ │ ├── renderers │ │ ├── CSS2DRenderer.js │ │ ├── CSS3DRenderer.js │ │ ├── CSS3DStereoRenderer.js │ │ ├── CanvasRenderer.js │ │ ├── Projector.js │ │ ├── RaytracingRenderer.js │ │ ├── SVGRenderer.js │ │ ├── SoftwareRenderer.js │ │ ├── WebGLDeferredRenderer.js │ │ └── plugins │ │ │ └── DepthPassPlugin.js │ │ ├── shaders │ │ ├── BasicShader.js │ │ ├── BleachBypassShader.js │ │ ├── BlendShader.js │ │ ├── BokehShader.js │ │ ├── BokehShader2.js │ │ ├── BrightnessContrastShader.js │ │ ├── ColorCorrectionShader.js │ │ ├── ColorifyShader.js │ │ ├── ConvolutionShader.js │ │ ├── CopyShader.js │ │ ├── DOFMipMapShader.js │ │ ├── DigitalGlitch.js │ │ ├── DotScreenShader.js │ │ ├── EdgeShader.js │ │ ├── EdgeShader2.js │ │ ├── FXAAShader.js │ │ ├── FilmShader.js │ │ ├── FocusShader.js │ │ ├── FresnelShader.js │ │ ├── HorizontalBlurShader.js │ │ ├── HorizontalTiltShiftShader.js │ │ ├── HueSaturationShader.js │ │ ├── KaleidoShader.js │ │ ├── LuminosityShader.js │ │ ├── MirrorShader.js │ │ ├── NormalDisplacementShader.js │ │ ├── NormalMapShader.js │ │ ├── OceanShaders.js │ │ ├── ParallaxShader.js │ │ ├── RGBShiftShader.js │ │ ├── SSAOShader.js │ │ ├── SepiaShader.js │ │ ├── TechnicolorShader.js │ │ ├── ToneMapShader.js │ │ ├── TriangleBlurShader.js │ │ ├── UnpackDepthRGBAShader.js │ │ ├── VerticalBlurShader.js │ │ ├── VerticalTiltShiftShader.js │ │ └── VignetteShader.js │ │ └── wip │ │ ├── CircleTypedGeometry.js │ │ ├── GeometryEditor.js │ │ ├── IndexedTypedGeometry.js │ │ ├── PlaneTypedGeometry.js │ │ ├── ProxyGeometry.js │ │ ├── TypedGeometry.js │ │ ├── benchmark │ │ ├── BoxGeometry2.js │ │ ├── Geometry2.js │ │ ├── Geometry2Loader.js │ │ ├── Geometry3.js │ │ ├── Geometry4.js │ │ ├── Geometry5.js │ │ ├── Geometry5b.js │ │ ├── IndexedGeometry3.js │ │ ├── IndexedGeometry5.js │ │ ├── IndexedPlaneGeometry5.js │ │ ├── PlaneGeometry.js │ │ ├── PlaneGeometry2.js │ │ ├── PlaneGeometry2b.js │ │ ├── PlaneGeometry3.js │ │ ├── PlaneGeometry5.js │ │ ├── PlaneGeometry6.js │ │ ├── PlaneGeometry99.js │ │ └── TypedGeometry.js │ │ └── proxies │ │ ├── MultiColor.js │ │ ├── MultiVector3.js │ │ ├── ProxyColor.js │ │ ├── ProxyFace3.js │ │ ├── ProxyVector2.js │ │ ├── ProxyVector3.js │ │ └── ProxyVector4.js ├── css │ └── main.css ├── data │ └── scenedata.json ├── image │ ├── skybox │ │ ├── nx.jpg │ │ ├── ny.jpg │ │ ├── nz.jpg │ │ ├── px.jpg │ │ ├── py.jpg │ │ └── pz.jpg │ └── ui │ │ ├── press_space.png │ │ └── title.png ├── index.html └── js │ ├── app.js │ ├── config.js │ ├── lib │ ├── dat.gui.min.js │ ├── jquery-1.11.1.min.js │ └── tween.min.js │ └── three.js │ ├── Detector.js │ ├── OrbitControls.js │ ├── Stats.js │ ├── TrackballControls.js │ ├── postprocessing │ ├── BloomPass.js │ ├── BokehPass.js │ ├── DotScreenPass.js │ ├── EffectComposer.js │ ├── FilmPass.js │ ├── GlitchPass.js │ ├── MaskPass.js │ ├── RenderPass.js │ ├── SavePass.js │ ├── ShaderPass.js │ └── TexturePass.js │ ├── shaders │ ├── BasicShader.js │ ├── BleachBypassShader.js │ ├── BlendShader.js │ ├── BokehShader.js │ ├── BokehShader2.js │ ├── BrightnessContrastShader.js │ ├── ColorCorrectionShader.js │ ├── ColorifyShader.js │ ├── ConvolutionShader.js │ ├── CopyShader.js │ ├── DOFMipMapShader.js │ ├── DigitalGlitch.js │ ├── DotMatrixShader.js │ ├── DotScreenShader.js │ ├── EdgeShader.js │ ├── EdgeShader2.js │ ├── FXAAShader.js │ ├── FilmShader.js │ ├── FocusShader.js │ ├── FresnelShader.js │ ├── HorizontalBlurShader.js │ ├── HorizontalTiltShiftShader.js │ ├── HueSaturationShader.js │ ├── KaleidoShader.js │ ├── LuminosityShader.js │ ├── MirrorShader.js │ ├── NormalMapShader.js │ ├── OceanShaders.js │ ├── RGBShiftShader.js │ ├── SSAOShader.js │ ├── SepiaShader.js │ ├── TechnicolorShader.js │ ├── TriangleBlurShader.js │ ├── UnpackDepthRGBAShader.js │ ├── VerticalBlurShader.js │ ├── VerticalTiltShiftShader.js │ └── VignetteShader.js │ ├── three.js │ └── three.min.js ├── bower.json ├── gulpfile.coffee ├── npm-debug.log ├── package.json ├── src ├── app.ts ├── framework │ ├── CEventDispatcher.ts │ ├── CMover.ts │ ├── CView.ts │ ├── ControlManager.ts │ ├── GameApp.ts │ └── IMover.ts ├── game │ ├── Bullet.ts │ ├── BulletEnemy.ts │ ├── Enemy.ts │ ├── EnemyBoss.ts │ ├── EnemyMid.ts │ ├── EnemySmall.ts │ ├── Explosion.ts │ ├── GameManager.ts │ ├── GameView.ts │ ├── HitArea.ts │ ├── Mover.ts │ ├── MyShip.ts │ ├── SceneData.ts │ ├── Score.ts │ ├── Shooter.ts │ ├── ShooterNway.ts │ ├── ShooterSingle.ts │ ├── Stage.ts │ └── TopView.ts ├── tsconfig.json ├── tsd.d.ts └── utils │ └── SimplexNoise.ts └── tsd.json /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "app/bower_components" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | *.iml 4 | node_modules 5 | DefinitelyTyped -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # three.js-game 2 | 3 | Shooting Game Development using three.js 4 | 5 | [http://verytired.github.io/three.js-game/app/index.html](http://verytired.github.io/three.js-game/app/index.html) 6 | 7 | ## build setting 8 | 9 | ``` 10 | npm install 11 | 12 | bower install 13 | 14 | tsd install 15 | 16 | ``` 17 | 18 | ## start 19 | 20 | ``` 21 | npm start 22 | ``` 23 | -------------------------------------------------------------------------------- /app/bower_components/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.3", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "speed", 10 | "test", 11 | "*.md", 12 | "AUTHORS.txt", 13 | "Gruntfile.js", 14 | "package.json" 15 | ], 16 | "devDependencies": { 17 | "sizzle": "2.1.1-jquery.2.1.2", 18 | "requirejs": "2.1.10", 19 | "qunit": "1.14.0", 20 | "sinon": "1.8.1" 21 | }, 22 | "keywords": [ 23 | "jquery", 24 | "javascript", 25 | "library" 26 | ], 27 | "homepage": "https://github.com/jquery/jquery", 28 | "_release": "2.1.3", 29 | "_resolution": { 30 | "type": "version", 31 | "tag": "2.1.3", 32 | "commit": "8f2a9d9272d6ed7f32d3a484740ab342c02541e0" 33 | }, 34 | "_source": "git://github.com/jquery/jquery.git", 35 | "_target": "~2.1.3", 36 | "_originalSource": "jquery" 37 | } -------------------------------------------------------------------------------- /app/bower_components/jquery/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014 jQuery Foundation and other contributors 2 | http://jquery.com/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /app/bower_components/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "version": "2.1.3", 4 | "main": "dist/jquery.js", 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "build", 9 | "speed", 10 | "test", 11 | "*.md", 12 | "AUTHORS.txt", 13 | "Gruntfile.js", 14 | "package.json" 15 | ], 16 | "devDependencies": { 17 | "sizzle": "2.1.1-jquery.2.1.2", 18 | "requirejs": "2.1.10", 19 | "qunit": "1.14.0", 20 | "sinon": "1.8.1" 21 | }, 22 | "keywords": [ 23 | "jquery", 24 | "javascript", 25 | "library" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /app/bower_components/jquery/src/ajax/load.js: -------------------------------------------------------------------------------- 1 | define([ 2 | "../core", 3 | "../core/parseHTML", 4 | "../ajax", 5 | "../traversing", 6 | "../manipulation", 7 | "../selector", 8 | // Optional event/alias dependency 9 | "../event/alias" 10 | ], function( jQuery ) { 11 | 12 | // Keep a copy of the old load method 13 | var _load = jQuery.fn.load; 14 | 15 | /** 16 | * Load a url into a page 17 | */ 18 | jQuery.fn.load = function( url, params, callback ) { 19 | if ( typeof url !== "string" && _load ) { 20 | return _load.apply( this, arguments ); 21 | } 22 | 23 | var selector, type, response, 24 | self = this, 25 | off = url.indexOf(" "); 26 | 27 | if ( off >= 0 ) { 28 | selector = jQuery.trim( url.slice( off ) ); 29 | url = url.slice( 0, off ); 30 | } 31 | 32 | // If it's a function 33 | if ( jQuery.isFunction( params ) ) { 34 | 35 | // We assume that it's the callback 36 | callback = params; 37 | params = undefined; 38 | 39 | // Otherwise, build a param string 40 | } else if ( params && typeof params === "object" ) { 41 | type = "POST"; 42 | } 43 | 44 | // If we have elements to modify, make the request 45 | if ( self.length > 0 ) { 46 | jQuery.ajax({ 47 | url: url, 48 | 49 | // if "type" variable is undefined, then "GET" method will be used 50 | type: type, 51 | dataType: "html", 52 | data: params 53 | }).done(function( responseText ) { 54 | 55 | // Save response for use in complete callback 56 | response = arguments; 57 | 58 | self.html( selector ? 59 | 60 | // If a selector was specified, locate the right elements in a dummy div 61 | // Exclude scripts to avoid IE 'Permission Denied' errors 62 | jQuery("