kiwiengine 0.0.1-alpha → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +550 -0
- package/README.md +575 -4
- package/examples/collision-test/assets/cat.png +0 -0
- package/examples/collision-test/dist/game.js +2 -0
- package/examples/collision-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/collision-test/index.ts +30 -0
- package/examples/dom-particle-test/assets/bird.png +0 -0
- package/examples/dom-particle-test/dist/game.js +2 -0
- package/examples/dom-particle-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/dom-particle-test/index.html +24 -0
- package/examples/dom-particle-test/index.ts +27 -0
- package/examples/dom-sprite-test/assets/bird.png +0 -0
- package/examples/dom-sprite-test/assets/fire.png +0 -0
- package/examples/dom-sprite-test/assets/run.png +0 -0
- package/examples/dom-sprite-test/dist/game.js +2 -0
- package/examples/dom-sprite-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/dom-sprite-test/index.html +24 -0
- package/examples/dom-sprite-test/index.ts +38 -0
- package/examples/dom-test/dist/game.js +2 -0
- package/examples/dom-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/dom-test/index.html +24 -0
- package/examples/dom-test/index.ts +22 -0
- package/examples/flappy-cat/assets/bgm/bgm.ogg +0 -0
- package/examples/flappy-cat/assets/images/base.png +0 -0
- package/examples/flappy-cat/assets/images/bg.png +0 -0
- package/examples/flappy-cat/assets/images/cat.png +0 -0
- package/examples/flappy-cat/assets/images/pipe-green.png +0 -0
- package/examples/flappy-cat/assets/images/pipe-red.png +0 -0
- package/examples/flappy-cat/assets/sfx/die.wav +0 -0
- package/examples/flappy-cat/assets/sfx/hit.wav +0 -0
- package/examples/flappy-cat/assets/sfx/point.wav +0 -0
- package/examples/flappy-cat/assets/sfx/wing.wav +0 -0
- package/examples/flappy-cat/dist/game.js +0 -0
- package/examples/flappy-cat/index.html +24 -0
- package/examples/flappy-cat/index.ts +0 -0
- package/examples/particle-test/assets/bird.png +0 -0
- package/examples/particle-test/dist/game.js +2 -0
- package/examples/particle-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/particle-test/index.html +24 -0
- package/examples/particle-test/index.ts +30 -0
- package/examples/renderer-test/dist/game.js +2 -0
- package/examples/renderer-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/renderer-test/index.html +24 -0
- package/examples/renderer-test/index.ts +9 -0
- package/examples/simple-battle/assets/bgm/battle.mp3 +0 -0
- package/examples/simple-battle/assets/bitmap-fonts/white-peaberry.fnt +107 -0
- package/examples/simple-battle/assets/bitmap-fonts/white-peaberry.png +0 -0
- package/examples/simple-battle/assets/joystick/joystick.png +0 -0
- package/examples/simple-battle/assets/joystick/knob.png +0 -0
- package/examples/simple-battle/assets/sfx/hero/die/die.wav +0 -0
- package/examples/simple-battle/assets/sfx/hero/heal/heal.wav +0 -0
- package/examples/simple-battle/assets/sfx/hero/hit/hit1.wav +0 -0
- package/examples/simple-battle/assets/sfx/hero/hit/hit2.wav +0 -0
- package/examples/simple-battle/assets/sfx/hero/hit/hit3.wav +0 -0
- package/examples/simple-battle/assets/sfx/hero/miss/miss1.wav +0 -0
- package/examples/simple-battle/assets/sfx/hero/miss/miss2.wav +0 -0
- package/examples/simple-battle/assets/sfx/hero/miss/miss3.wav +0 -0
- package/examples/simple-battle/assets/sfx/orc/die/die.wav +0 -0
- package/examples/simple-battle/assets/sfx/orc/hit/hit1.wav +0 -0
- package/examples/simple-battle/assets/sfx/orc/hit/hit2.wav +0 -0
- package/examples/simple-battle/assets/sfx/orc/hit/hit3.wav +0 -0
- package/examples/simple-battle/assets/sfx/orc/miss/miss1.wav +0 -0
- package/examples/simple-battle/assets/sfx/orc/miss/miss2.wav +0 -0
- package/examples/simple-battle/assets/sfx/orc/miss/miss3.wav +0 -0
- package/examples/simple-battle/assets/spritesheets/hero-atlas.json +289 -0
- package/examples/simple-battle/assets/spritesheets/hero.png +0 -0
- package/examples/simple-battle/assets/spritesheets/orc-atlas.json +289 -0
- package/examples/simple-battle/assets/spritesheets/orc.png +0 -0
- package/examples/simple-battle/assets/spritesheets/potion-atlas.json +83 -0
- package/examples/simple-battle/assets/spritesheets/potion.png +0 -0
- package/examples/simple-battle/dist/game.js +2 -0
- package/examples/simple-battle/dist/game.js.LICENSE.txt +35 -0
- package/examples/simple-battle/hud/damage-text.ts +45 -0
- package/examples/simple-battle/hud/heal-text.ts +45 -0
- package/examples/simple-battle/hud/hp-bar.ts +38 -0
- package/examples/simple-battle/index.html +24 -0
- package/examples/simple-battle/index.ts +41 -0
- package/examples/simple-battle/objects/character.ts +95 -0
- package/examples/simple-battle/objects/hero.ts +113 -0
- package/examples/simple-battle/objects/orc.ts +109 -0
- package/examples/simple-battle/objects/potion.ts +29 -0
- package/examples/simple-battle/stage.ts +176 -0
- package/examples/spine-test/assets/spine/spineboy.atlas +95 -0
- package/examples/spine-test/assets/spine/spineboy.png +0 -0
- package/examples/spine-test/assets/spine/spineboy.skel +0 -0
- package/examples/spine-test/dist/game.js +2 -0
- package/examples/spine-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/spine-test/index.html +24 -0
- package/examples/spine-test/index.ts +29 -0
- package/examples/sprite-test/assets/bird.png +0 -0
- package/examples/sprite-test/assets/fire.png +0 -0
- package/examples/sprite-test/dist/game.js +2 -0
- package/examples/sprite-test/dist/game.js.LICENSE.txt +35 -0
- package/examples/sprite-test/index.html +24 -0
- package/examples/sprite-test/index.ts +41 -0
- package/examples/tsconfig.json +2 -1
- package/examples/webpack.config.js +14 -3
- package/jest.config.ts +10 -0
- package/lib/asset/audio.js +47 -11
- package/lib/asset/audio.js.map +1 -1
- package/lib/asset/loaders/audio.js +3 -3
- package/lib/asset/loaders/audio.js.map +1 -1
- package/lib/asset/loaders/binary.js +3 -3
- package/lib/asset/loaders/binary.js.map +1 -1
- package/lib/asset/loaders/bitmap-font.js +71 -0
- package/lib/asset/loaders/bitmap-font.js.map +1 -0
- package/lib/asset/loaders/font.js +1 -1
- package/lib/asset/loaders/font.js.map +1 -1
- package/lib/asset/loaders/loader.js +17 -12
- package/lib/asset/loaders/loader.js.map +1 -1
- package/lib/asset/loaders/spritesheet.js +6 -7
- package/lib/asset/loaders/spritesheet.js.map +1 -1
- package/lib/asset/loaders/text.js +3 -3
- package/lib/asset/loaders/text.js.map +1 -1
- package/lib/asset/loaders/texture.js +5 -4
- package/lib/asset/loaders/texture.js.map +1 -1
- package/lib/asset/preload.js +60 -56
- package/lib/asset/preload.js.map +1 -1
- package/lib/collision/check-collision.js +804 -0
- package/lib/collision/check-collision.js.map +1 -0
- package/lib/collision/check-collision.test.js +300 -0
- package/lib/collision/check-collision.test.js.map +1 -0
- package/lib/collision/colliders.js +8 -0
- package/lib/collision/colliders.js.map +1 -0
- package/lib/debug.js.map +1 -0
- package/lib/dom/dom-animated-sprite.js +121 -0
- package/lib/dom/dom-animated-sprite.js.map +1 -0
- package/lib/dom/dom-game-object.js +106 -0
- package/lib/dom/dom-game-object.js.map +1 -0
- package/lib/dom/dom-particle.js +105 -0
- package/lib/dom/dom-particle.js.map +1 -0
- package/lib/dom/dom-preload.js +43 -0
- package/lib/dom/dom-preload.js.map +1 -0
- package/lib/dom/dom-sprite.js +40 -0
- package/lib/dom/dom-sprite.js.map +1 -0
- package/lib/dom/dom-texture-loader.js +36 -0
- package/lib/dom/dom-texture-loader.js.map +1 -0
- package/lib/dom/dom-utils.js +20 -0
- package/lib/dom/dom-utils.js.map +1 -0
- package/lib/index copy.js +16 -0
- package/lib/index copy.js.map +1 -0
- package/lib/index.js +35 -10
- package/lib/index.js.map +1 -1
- package/lib/input/joystick.js +262 -0
- package/lib/input/joystick.js.map +1 -0
- package/lib/node/core/dirty-number.js +38 -0
- package/lib/node/core/dirty-number.js.map +1 -0
- package/lib/node/core/game-node.js +63 -0
- package/lib/node/core/game-node.js.map +1 -0
- package/lib/node/core/game-object.js +8 -0
- package/lib/node/core/game-object.js.map +1 -0
- package/lib/node/core/renderable.js +52 -0
- package/lib/node/core/renderable.js.map +1 -0
- package/lib/node/core/transform.js +59 -0
- package/lib/node/core/transform.js.map +1 -0
- package/lib/node/core/transformable.js +85 -0
- package/lib/node/core/transformable.js.map +1 -0
- package/lib/node/ext/animated-sprite.js +96 -0
- package/lib/node/ext/animated-sprite.js.map +1 -0
- package/lib/node/ext/bitmap-text.js +89 -0
- package/lib/node/ext/bitmap-text.js.map +1 -0
- package/lib/node/ext/circle.js +28 -0
- package/lib/node/ext/circle.js.map +1 -0
- package/lib/node/ext/deplay.js +20 -0
- package/lib/node/ext/deplay.js.map +1 -0
- package/lib/node/ext/dom-container.js +51 -0
- package/lib/node/ext/dom-container.js.map +1 -0
- package/lib/node/ext/interval.js +20 -0
- package/lib/node/ext/interval.js.map +1 -0
- package/lib/node/ext/particle.js +98 -0
- package/lib/node/ext/particle.js.map +1 -0
- package/lib/node/ext/rectangle.js +32 -0
- package/lib/node/ext/rectangle.js.map +1 -0
- package/lib/node/ext/spine.js +272 -0
- package/lib/node/ext/spine.js.map +1 -0
- package/lib/node/ext/sprite.js +42 -0
- package/lib/node/ext/sprite.js.map +1 -0
- package/lib/node/physics/physics-object.js +112 -0
- package/lib/node/physics/physics-object.js.map +1 -0
- package/lib/node/physics/physics-world.js +27 -0
- package/lib/node/physics/physics-world.js.map +1 -0
- package/lib/renderer/camera.js +19 -0
- package/lib/renderer/camera.js.map +1 -0
- package/lib/renderer/container-manager.js +29 -0
- package/lib/renderer/container-manager.js.map +1 -0
- package/lib/renderer/fps-display.js +18 -0
- package/lib/renderer/fps-display.js.map +1 -0
- package/lib/renderer/layer.js +12 -0
- package/lib/renderer/layer.js.map +1 -0
- package/lib/renderer/renderer.js +145 -0
- package/lib/renderer/renderer.js.map +1 -0
- package/lib/renderer/ticker.js +56 -0
- package/lib/renderer/ticker.js.map +1 -0
- package/lib/renderer/ticker.test.js +241 -0
- package/lib/renderer/ticker.test.js.map +1 -0
- package/lib/types/asset/audio.d.ts +5 -4
- package/lib/types/asset/audio.d.ts.map +1 -1
- package/lib/types/asset/loaders/audio.d.ts +1 -1
- package/lib/types/asset/loaders/audio.d.ts.map +1 -1
- package/lib/types/asset/loaders/binary.d.ts +1 -1
- package/lib/types/asset/loaders/binary.d.ts.map +1 -1
- package/lib/types/asset/loaders/bitmap-font.d.ts +16 -0
- package/lib/types/asset/loaders/bitmap-font.d.ts.map +1 -0
- package/lib/types/asset/loaders/font.d.ts +1 -1
- package/lib/types/asset/loaders/font.d.ts.map +1 -1
- package/lib/types/asset/loaders/loader.d.ts +6 -6
- package/lib/types/asset/loaders/loader.d.ts.map +1 -1
- package/lib/types/asset/loaders/spritesheet.d.ts +5 -5
- package/lib/types/asset/loaders/spritesheet.d.ts.map +1 -1
- package/lib/types/asset/loaders/text.d.ts +1 -1
- package/lib/types/asset/loaders/text.d.ts.map +1 -1
- package/lib/types/asset/loaders/texture.d.ts +2 -2
- package/lib/types/asset/loaders/texture.d.ts.map +1 -1
- package/lib/types/asset/preload.d.ts +5 -3
- package/lib/types/asset/preload.d.ts.map +1 -1
- package/lib/types/bitmap-font.js +2 -0
- package/lib/types/bitmap-font.js.map +1 -0
- package/lib/types/collision/check-collision.d.ts +4 -0
- package/lib/types/collision/check-collision.d.ts.map +1 -0
- package/lib/types/collision/check-collision.test.d.ts +2 -0
- package/lib/types/collision/check-collision.test.d.ts.map +1 -0
- package/lib/types/collision/colliders.d.ts +34 -0
- package/lib/types/collision/colliders.d.ts.map +1 -0
- package/lib/types/debug.d.ts.map +1 -0
- package/lib/types/dom/dom-animated-sprite.d.ts +29 -0
- package/lib/types/dom/dom-animated-sprite.d.ts.map +1 -0
- package/lib/types/dom/dom-game-object.d.ts +44 -0
- package/lib/types/dom/dom-game-object.d.ts.map +1 -0
- package/lib/types/dom/dom-particle.d.ts +30 -0
- package/lib/types/dom/dom-particle.d.ts.map +1 -0
- package/lib/types/dom/dom-preload.d.ts +2 -0
- package/lib/types/dom/dom-preload.d.ts.map +1 -0
- package/lib/types/dom/dom-sprite.d.ts +13 -0
- package/lib/types/dom/dom-sprite.d.ts.map +1 -0
- package/lib/types/dom/dom-texture-loader.d.ts +8 -0
- package/lib/types/dom/dom-texture-loader.d.ts.map +1 -0
- package/lib/types/dom/dom-utils.d.ts +3 -0
- package/lib/types/dom/dom-utils.d.ts.map +1 -0
- package/lib/types/index copy.d.ts +16 -0
- package/lib/types/index copy.d.ts.map +1 -0
- package/lib/types/index.d.ts +25 -11
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/input/joystick.d.ts +28 -0
- package/lib/types/input/joystick.d.ts.map +1 -0
- package/lib/types/node/core/dirty-number.d.ts +17 -0
- package/lib/types/node/core/dirty-number.d.ts.map +1 -0
- package/lib/types/node/core/game-node.d.ts +16 -0
- package/lib/types/node/core/game-node.d.ts.map +1 -0
- package/lib/types/node/core/game-object.d.ts +8 -0
- package/lib/types/node/core/game-object.d.ts.map +1 -0
- package/lib/types/node/core/renderable.d.ts +22 -0
- package/lib/types/node/core/renderable.d.ts.map +1 -0
- package/lib/types/node/core/transform.d.ts +25 -0
- package/lib/types/node/core/transform.d.ts.map +1 -0
- package/lib/types/node/core/transformable.d.ts +44 -0
- package/lib/types/node/core/transformable.d.ts.map +1 -0
- package/lib/types/node/ext/animated-sprite.d.ts +28 -0
- package/lib/types/node/ext/animated-sprite.d.ts.map +1 -0
- package/lib/types/node/ext/bitmap-text.d.ts +14 -0
- package/lib/types/node/ext/bitmap-text.d.ts.map +1 -0
- package/lib/types/node/ext/circle.d.ts +19 -0
- package/lib/types/node/ext/circle.d.ts.map +1 -0
- package/lib/types/node/ext/deplay.d.ts +8 -0
- package/lib/types/node/ext/deplay.d.ts.map +1 -0
- package/lib/types/node/ext/dom-container.d.ts +12 -0
- package/lib/types/node/ext/dom-container.d.ts.map +1 -0
- package/lib/types/node/ext/interval.d.ts +9 -0
- package/lib/types/node/ext/interval.d.ts.map +1 -0
- package/lib/types/node/ext/particle.d.ts +30 -0
- package/lib/types/node/ext/particle.d.ts.map +1 -0
- package/lib/types/node/ext/rectangle.d.ts +22 -0
- package/lib/types/node/ext/rectangle.d.ts.map +1 -0
- package/lib/types/node/ext/spine.d.ts +36 -0
- package/lib/types/node/ext/spine.d.ts.map +1 -0
- package/lib/types/node/ext/sprite.d.ts +13 -0
- package/lib/types/node/ext/sprite.d.ts.map +1 -0
- package/lib/types/node/physics/physics-object.d.ts +38 -0
- package/lib/types/node/physics/physics-object.d.ts.map +1 -0
- package/lib/types/node/physics/physics-world.d.ts +18 -0
- package/lib/types/node/physics/physics-world.d.ts.map +1 -0
- package/lib/types/renderer/camera.d.ts +13 -0
- package/lib/types/renderer/camera.d.ts.map +1 -0
- package/lib/types/renderer/container-manager.d.ts +9 -0
- package/lib/types/renderer/container-manager.d.ts.map +1 -0
- package/lib/types/renderer/fps-display.d.ts +7 -0
- package/lib/types/renderer/fps-display.d.ts.map +1 -0
- package/lib/types/renderer/layer.d.ts +7 -0
- package/lib/types/renderer/layer.d.ts.map +1 -0
- package/lib/types/renderer/renderer.d.ts +40 -0
- package/lib/types/renderer/renderer.d.ts.map +1 -0
- package/lib/types/renderer/ticker.d.ts +6 -0
- package/lib/types/renderer/ticker.d.ts.map +1 -0
- package/lib/types/renderer/ticker.test.d.ts +40 -0
- package/lib/types/renderer/ticker.test.d.ts.map +1 -0
- package/lib/types/types/bitmap-font.d.ts +18 -0
- package/lib/types/types/bitmap-font.d.ts.map +1 -0
- package/lib/types/utils/device.d.ts +2 -0
- package/lib/types/utils/device.d.ts.map +1 -0
- package/lib/utils/device.js +2 -0
- package/lib/utils/device.js.map +1 -0
- package/package.json +8 -7
- package/src/asset/audio.ts +134 -90
- package/src/asset/loaders/audio.ts +19 -19
- package/src/asset/loaders/binary.ts +16 -16
- package/src/asset/loaders/bitmap-font.ts +85 -0
- package/src/asset/loaders/font.ts +14 -14
- package/src/asset/loaders/loader.ts +27 -23
- package/src/asset/loaders/spritesheet.ts +34 -36
- package/src/asset/loaders/text.ts +15 -15
- package/src/asset/loaders/texture.ts +29 -28
- package/src/asset/preload.ts +75 -64
- package/src/collision/check-collision.test.ts +349 -0
- package/src/collision/check-collision.ts +821 -0
- package/src/collision/colliders.ts +19 -0
- package/src/debug.ts +5 -0
- package/src/dom/dom-animated-sprite.ts +153 -0
- package/src/dom/dom-game-object.ts +131 -0
- package/src/dom/dom-particle.ts +151 -0
- package/src/dom/dom-preload.ts +54 -0
- package/src/dom/dom-sprite.ts +50 -0
- package/src/dom/dom-texture-loader.ts +44 -0
- package/src/dom/dom-utils.ts +19 -0
- package/src/index.ts +46 -13
- package/src/input/joystick.ts +316 -0
- package/src/node/core/dirty-number.ts +45 -0
- package/src/node/core/game-node.ts +74 -0
- package/src/node/core/game-object.ts +11 -0
- package/src/node/core/renderable.ts +65 -0
- package/src/node/core/transform.ts +70 -0
- package/src/node/core/transformable.ts +111 -0
- package/src/node/ext/animated-sprite.ts +123 -0
- package/src/node/ext/bitmap-text.ts +109 -0
- package/src/node/ext/circle.ts +40 -0
- package/src/node/ext/deplay.ts +24 -0
- package/src/node/ext/dom-container.ts +62 -0
- package/src/node/ext/interval.ts +24 -0
- package/src/node/ext/particle.ts +142 -0
- package/src/node/ext/rectangle.ts +51 -0
- package/src/node/ext/spine.ts +323 -0
- package/src/node/ext/sprite.ts +53 -0
- package/src/node/physics/physics-object.ts +156 -0
- package/src/node/physics/physics-world.ts +40 -0
- package/src/renderer/camera.ts +25 -0
- package/src/renderer/container-manager.ts +36 -0
- package/src/renderer/fps-display.ts +21 -0
- package/src/renderer/layer.ts +15 -0
- package/src/renderer/renderer.ts +180 -0
- package/src/renderer/ticker.test.ts +325 -0
- package/src/renderer/ticker.ts +54 -0
- package/src/types/bitmap-font.ts +19 -0
- package/src/utils/device.ts +1 -0
- package/examples/test-dom/index.ts +0 -21
- package/lib/game-object/game-object-physics.js +0 -188
- package/lib/game-object/game-object-physics.js.map +0 -1
- package/lib/game-object/game-object-rendering.js +0 -35
- package/lib/game-object/game-object-rendering.js.map +0 -1
- package/lib/game-object/game-object.js +0 -162
- package/lib/game-object/game-object.js.map +0 -1
- package/lib/game-object/transform.js +0 -118
- package/lib/game-object/transform.js.map +0 -1
- package/lib/game-object-ext/animated-sprite.js +0 -117
- package/lib/game-object-ext/animated-sprite.js.map +0 -1
- package/lib/game-object-ext/dom-container.js +0 -56
- package/lib/game-object-ext/dom-container.js.map +0 -1
- package/lib/game-object-ext/rect.js +0 -30
- package/lib/game-object-ext/rect.js.map +0 -1
- package/lib/game-object-ext/spine.js +0 -206
- package/lib/game-object-ext/spine.js.map +0 -1
- package/lib/game-object-ext/sprite.js +0 -46
- package/lib/game-object-ext/sprite.js.map +0 -1
- package/lib/game-object-ext/text.js +0 -68
- package/lib/game-object-ext/text.js.map +0 -1
- package/lib/game-object-ext/tiling-sprite.js +0 -64
- package/lib/game-object-ext/tiling-sprite.js.map +0 -1
- package/lib/types/game-object/game-object-physics.d.ts +0 -42
- package/lib/types/game-object/game-object-physics.d.ts.map +0 -1
- package/lib/types/game-object/game-object-rendering.d.ts +0 -15
- package/lib/types/game-object/game-object-rendering.d.ts.map +0 -1
- package/lib/types/game-object/game-object.d.ts +0 -81
- package/lib/types/game-object/game-object.d.ts.map +0 -1
- package/lib/types/game-object/transform.d.ts +0 -43
- package/lib/types/game-object/transform.d.ts.map +0 -1
- package/lib/types/game-object-ext/animated-sprite.d.ts +0 -29
- package/lib/types/game-object-ext/animated-sprite.d.ts.map +0 -1
- package/lib/types/game-object-ext/dom-container.d.ts +0 -16
- package/lib/types/game-object-ext/dom-container.d.ts.map +0 -1
- package/lib/types/game-object-ext/rect.d.ts +0 -17
- package/lib/types/game-object-ext/rect.d.ts.map +0 -1
- package/lib/types/game-object-ext/spine.d.ts +0 -35
- package/lib/types/game-object-ext/spine.d.ts.map +0 -1
- package/lib/types/game-object-ext/sprite.d.ts +0 -14
- package/lib/types/game-object-ext/sprite.d.ts.map +0 -1
- package/lib/types/game-object-ext/text.d.ts +0 -26
- package/lib/types/game-object-ext/text.d.ts.map +0 -1
- package/lib/types/game-object-ext/tiling-sprite.d.ts +0 -20
- package/lib/types/game-object-ext/tiling-sprite.d.ts.map +0 -1
- package/lib/types/utils/debug.d.ts.map +0 -1
- package/lib/types/utils/go.d.ts +0 -26
- package/lib/types/utils/go.d.ts.map +0 -1
- package/lib/types/world/world-debug.d.ts +0 -11
- package/lib/types/world/world-debug.d.ts.map +0 -1
- package/lib/types/world/world-physics.d.ts +0 -16
- package/lib/types/world/world-physics.d.ts.map +0 -1
- package/lib/types/world/world-rendering.d.ts +0 -28
- package/lib/types/world/world-rendering.d.ts.map +0 -1
- package/lib/types/world/world.d.ts +0 -38
- package/lib/types/world/world.d.ts.map +0 -1
- package/lib/utils/debug.js.map +0 -1
- package/lib/utils/go.js +0 -33
- package/lib/utils/go.js.map +0 -1
- package/lib/world/world-debug.js +0 -89
- package/lib/world/world-debug.js.map +0 -1
- package/lib/world/world-physics.js +0 -45
- package/lib/world/world-physics.js.map +0 -1
- package/lib/world/world-rendering.js +0 -123
- package/lib/world/world-rendering.js.map +0 -1
- package/lib/world/world.js +0 -147
- package/lib/world/world.js.map +0 -1
- package/src/game-object/game-object-physics.ts +0 -191
- package/src/game-object/game-object-rendering.ts +0 -27
- package/src/game-object/game-object.ts +0 -190
- package/src/game-object/transform.ts +0 -164
- package/src/game-object-ext/animated-sprite.ts +0 -140
- package/src/game-object-ext/dom-container.ts +0 -67
- package/src/game-object-ext/rect.ts +0 -40
- package/src/game-object-ext/spine.ts +0 -235
- package/src/game-object-ext/sprite.ts +0 -55
- package/src/game-object-ext/text.ts +0 -83
- package/src/game-object-ext/tiling-sprite.ts +0 -73
- package/src/utils/debug.ts +0 -5
- package/src/utils/go.ts +0 -53
- package/src/world/world-debug.ts +0 -114
- package/src/world/world-physics.ts +0 -52
- package/src/world/world-rendering.ts +0 -145
- package/src/world/world.ts +0 -171
- /package/examples/{test-dom → collision-test}/index.html +0 -0
- /package/lib/{utils/debug.js → debug.js} +0 -0
- /package/lib/types/{utils/debug.d.ts → debug.d.ts} +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { checkCollision, IntervalNode, isMobile, Joystick, musicPlayer, PhysicsWorld } from '../../src'
|
|
2
|
+
import { Hero } from './objects/hero'
|
|
3
|
+
import { Orc } from './objects/orc'
|
|
4
|
+
import { Potion } from './objects/potion'
|
|
5
|
+
|
|
6
|
+
function createTextElement() {
|
|
7
|
+
const el = document.createElement('div')
|
|
8
|
+
el.style.color = 'white'
|
|
9
|
+
el.style.position = 'absolute'
|
|
10
|
+
el.style.top = '10px'
|
|
11
|
+
el.style.zIndex = '1'
|
|
12
|
+
return el
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const SCORE_PER_ORC = 100
|
|
16
|
+
|
|
17
|
+
export class Stage extends PhysicsWorld {
|
|
18
|
+
#hero = new Hero();
|
|
19
|
+
#orcs: Set<Orc> = new Set();
|
|
20
|
+
#potions: Set<Potion> = new Set();
|
|
21
|
+
|
|
22
|
+
#time = 0
|
|
23
|
+
#score = 0
|
|
24
|
+
#isGameOver = false
|
|
25
|
+
|
|
26
|
+
#timeText: HTMLDivElement
|
|
27
|
+
#hpText: HTMLDivElement
|
|
28
|
+
#scoreText: HTMLDivElement
|
|
29
|
+
|
|
30
|
+
#spawnOrcInterval: IntervalNode
|
|
31
|
+
#spawnPotionInterval: IntervalNode
|
|
32
|
+
|
|
33
|
+
constructor() {
|
|
34
|
+
super()
|
|
35
|
+
musicPlayer.play('assets/bgm/battle.mp3')
|
|
36
|
+
|
|
37
|
+
this.add(this.#hero)
|
|
38
|
+
this.add(this.#spawnOrcInterval = new IntervalNode(1, () => this.#spawnOrc()))
|
|
39
|
+
this.add(this.#spawnPotionInterval = new IntervalNode(3, () => this.#spawnPotion()))
|
|
40
|
+
|
|
41
|
+
//for (let i = 0; i < 1000; i++) {
|
|
42
|
+
//this.#spawnOrc()
|
|
43
|
+
//}
|
|
44
|
+
|
|
45
|
+
const joystickImage = new Image()
|
|
46
|
+
joystickImage.src = 'assets/joystick/joystick.png'
|
|
47
|
+
|
|
48
|
+
const knobImage = new Image()
|
|
49
|
+
knobImage.src = 'assets/joystick/knob.png'
|
|
50
|
+
|
|
51
|
+
this.add(
|
|
52
|
+
new Joystick({
|
|
53
|
+
onMove: (r, d) => this.#hero.move(r, d),
|
|
54
|
+
onRelease: () => this.#hero.stop(),
|
|
55
|
+
onKeyDown: (code) => {
|
|
56
|
+
if (code === 'KeyA') this.#hero.attack()
|
|
57
|
+
},
|
|
58
|
+
joystickImage,
|
|
59
|
+
knobImage,
|
|
60
|
+
maxKnobDistance: 70,
|
|
61
|
+
}),
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
this.#timeText = createTextElement()
|
|
65
|
+
this.#hpText = createTextElement()
|
|
66
|
+
this.#scoreText = createTextElement()
|
|
67
|
+
|
|
68
|
+
this.#timeText.textContent = `Time: ${this.#time}`
|
|
69
|
+
this.#hpText.textContent = `HP: ${this.#hero.hp}`
|
|
70
|
+
this.#scoreText.textContent = `Score: ${this.#score}`
|
|
71
|
+
|
|
72
|
+
this.#timeText.style.left = '10px'
|
|
73
|
+
this.#hpText.style.left = '50%'
|
|
74
|
+
this.#hpText.style.transform = 'translate(-50%, 0)'
|
|
75
|
+
this.#scoreText.style.right = '10px'
|
|
76
|
+
|
|
77
|
+
this.#hero.on('hit', (damage) => {
|
|
78
|
+
for (const o of this.#orcs) {
|
|
79
|
+
if (checkCollision(this.#hero.hitbox, this.#hero.worldTransform, o.hurtbox, o.worldTransform)) {
|
|
80
|
+
o.takeDamage(damage)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
this.#hero.on('changeHp', () => {
|
|
86
|
+
this.#hpText.textContent = `HP: ${this.#hero.hp}`
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
this.#hero.on('dead', () => {
|
|
90
|
+
this.#gameOver()
|
|
91
|
+
})
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#gameOver() {
|
|
95
|
+
this.#isGameOver = true
|
|
96
|
+
this.#spawnOrcInterval.remove()
|
|
97
|
+
this.#spawnPotionInterval.remove()
|
|
98
|
+
for (const o of this.#orcs) {
|
|
99
|
+
o.stop()
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const gameOverText = createTextElement()
|
|
103
|
+
gameOverText.textContent = 'Game Over'
|
|
104
|
+
gameOverText.style.left = '50%'
|
|
105
|
+
gameOverText.style.top = '50%'
|
|
106
|
+
gameOverText.style.transform = 'translate(-50%, -50%)'
|
|
107
|
+
this.renderer?.container.append(gameOverText)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
protected override set renderer(renderer) {
|
|
111
|
+
super.renderer = renderer
|
|
112
|
+
|
|
113
|
+
if (renderer) {
|
|
114
|
+
const c = renderer.container
|
|
115
|
+
c.append(this.#timeText, this.#hpText, this.#scoreText)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
protected override get renderer() {
|
|
120
|
+
return super.renderer
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
#spawnOrc() {
|
|
124
|
+
const o = new Orc()
|
|
125
|
+
o.x = Math.random() * 800 - 400
|
|
126
|
+
o.y = Math.random() * 600 - 300
|
|
127
|
+
o.on('hit', (damage) => {
|
|
128
|
+
if (checkCollision(this.#hero.hurtbox, this.#hero.worldTransform, o.hitbox, o.worldTransform)) {
|
|
129
|
+
this.#hero.takeDamage(damage)
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
this.add(o)
|
|
133
|
+
this.#orcs.add(o)
|
|
134
|
+
o.on('dead', () => {
|
|
135
|
+
this.#orcs.delete(o)
|
|
136
|
+
this.#score += SCORE_PER_ORC
|
|
137
|
+
this.#scoreText.textContent = `Score: ${this.#score}`
|
|
138
|
+
})
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
#spawnPotion() {
|
|
142
|
+
const p = new Potion()
|
|
143
|
+
p.x = Math.random() * 800 - 400
|
|
144
|
+
p.y = Math.random() * 600 - 300
|
|
145
|
+
this.add(p)
|
|
146
|
+
this.#potions.add(p)
|
|
147
|
+
p.on('remove', () => this.#potions.delete(p))
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
protected override update(dt: number) {
|
|
151
|
+
super.update(dt)
|
|
152
|
+
if (this.#isGameOver) return
|
|
153
|
+
|
|
154
|
+
const h = this.#hero
|
|
155
|
+
if (h.dead) return
|
|
156
|
+
|
|
157
|
+
for (const o of this.#orcs) {
|
|
158
|
+
if (checkCollision(h.hurtbox, h.worldTransform, o.hitbox, o.worldTransform)) {
|
|
159
|
+
o.attack()
|
|
160
|
+
} else {
|
|
161
|
+
o.moveTo(this.#hero.x, this.#hero.y)
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (isMobile && checkCollision(h.hitbox, h.worldTransform, o.hurtbox, o.worldTransform)) {
|
|
165
|
+
h.attack()
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
for (const p of this.#potions) {
|
|
170
|
+
if (checkCollision(h.hitbox, h.worldTransform, p.triggerCollider, p.worldTransform)) {
|
|
171
|
+
h.heal(p.healAmount)
|
|
172
|
+
p.remove()
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
spineboy-pma.png
|
|
2
|
+
size: 1024, 256
|
|
3
|
+
filter: Linear, Linear
|
|
4
|
+
pma: true
|
|
5
|
+
scale: 0.5
|
|
6
|
+
crosshair
|
|
7
|
+
bounds: 352, 7, 45, 45
|
|
8
|
+
eye-indifferent
|
|
9
|
+
bounds: 862, 105, 47, 45
|
|
10
|
+
eye-surprised
|
|
11
|
+
bounds: 505, 79, 47, 45
|
|
12
|
+
front-bracer
|
|
13
|
+
bounds: 826, 66, 29, 40
|
|
14
|
+
front-fist-closed
|
|
15
|
+
bounds: 786, 65, 38, 41
|
|
16
|
+
front-fist-open
|
|
17
|
+
bounds: 710, 51, 43, 44
|
|
18
|
+
rotate: 90
|
|
19
|
+
front-foot
|
|
20
|
+
bounds: 210, 6, 63, 35
|
|
21
|
+
front-shin
|
|
22
|
+
bounds: 665, 128, 41, 92
|
|
23
|
+
rotate: 90
|
|
24
|
+
front-thigh
|
|
25
|
+
bounds: 2, 2, 23, 56
|
|
26
|
+
rotate: 90
|
|
27
|
+
front-upper-arm
|
|
28
|
+
bounds: 250, 205, 23, 49
|
|
29
|
+
goggles
|
|
30
|
+
bounds: 665, 171, 131, 83
|
|
31
|
+
gun
|
|
32
|
+
bounds: 798, 152, 105, 102
|
|
33
|
+
head
|
|
34
|
+
bounds: 2, 27, 136, 149
|
|
35
|
+
hoverboard-board
|
|
36
|
+
bounds: 2, 178, 246, 76
|
|
37
|
+
hoverboard-thruster
|
|
38
|
+
bounds: 722, 96, 30, 32
|
|
39
|
+
rotate: 90
|
|
40
|
+
hoverglow-small
|
|
41
|
+
bounds: 275, 81, 137, 38
|
|
42
|
+
mouth-grind
|
|
43
|
+
bounds: 614, 97, 47, 30
|
|
44
|
+
mouth-oooo
|
|
45
|
+
bounds: 612, 65, 47, 30
|
|
46
|
+
mouth-smile
|
|
47
|
+
bounds: 661, 64, 47, 30
|
|
48
|
+
muzzle-glow
|
|
49
|
+
bounds: 382, 54, 25, 25
|
|
50
|
+
muzzle-ring
|
|
51
|
+
bounds: 275, 54, 25, 105
|
|
52
|
+
rotate: 90
|
|
53
|
+
muzzle01
|
|
54
|
+
bounds: 911, 95, 67, 40
|
|
55
|
+
rotate: 90
|
|
56
|
+
muzzle02
|
|
57
|
+
bounds: 792, 108, 68, 42
|
|
58
|
+
muzzle03
|
|
59
|
+
bounds: 956, 171, 83, 53
|
|
60
|
+
rotate: 90
|
|
61
|
+
muzzle04
|
|
62
|
+
bounds: 275, 7, 75, 45
|
|
63
|
+
muzzle05
|
|
64
|
+
bounds: 140, 3, 68, 38
|
|
65
|
+
neck
|
|
66
|
+
bounds: 250, 182, 18, 21
|
|
67
|
+
portal-bg
|
|
68
|
+
bounds: 140, 43, 133, 133
|
|
69
|
+
portal-flare1
|
|
70
|
+
bounds: 554, 65, 56, 30
|
|
71
|
+
portal-flare2
|
|
72
|
+
bounds: 759, 112, 57, 31
|
|
73
|
+
rotate: 90
|
|
74
|
+
portal-flare3
|
|
75
|
+
bounds: 554, 97, 58, 30
|
|
76
|
+
portal-shade
|
|
77
|
+
bounds: 275, 121, 133, 133
|
|
78
|
+
portal-streaks1
|
|
79
|
+
bounds: 410, 126, 126, 128
|
|
80
|
+
portal-streaks2
|
|
81
|
+
bounds: 538, 129, 125, 125
|
|
82
|
+
rear-bracer
|
|
83
|
+
bounds: 857, 67, 28, 36
|
|
84
|
+
rear-foot
|
|
85
|
+
bounds: 663, 96, 57, 30
|
|
86
|
+
rear-shin
|
|
87
|
+
bounds: 414, 86, 38, 89
|
|
88
|
+
rotate: 90
|
|
89
|
+
rear-thigh
|
|
90
|
+
bounds: 756, 63, 28, 47
|
|
91
|
+
rear-upper-arm
|
|
92
|
+
bounds: 60, 5, 20, 44
|
|
93
|
+
rotate: 90
|
|
94
|
+
torso
|
|
95
|
+
bounds: 905, 164, 49, 90
|
|
Binary file
|
|
Binary file
|