Tiled Wizard TilingSprite

In some games with infinite backgrounds, tile sprites can be used to achieve seamless background connection, similar to the background-repeat: repeat; function in css, and a renderer needs to be installed before use.

Demo

Install

With NPM

  1. npm i @eva/plugin-renderer @eva/plugin-renderer-tiling-sprite

In Browser

  1. <script src="https://unpkg.com/@eva/plugin-renderer-tiling-sprite@1.2.x/dist/EVA.plugin.renderer.tilingSprite.min.js"></script>

Usage

  1. import {Game, GameObject, resource, RESOURCE_TYPE} from '@eva/eva.js'
  2. import {RendererSystem} from '@eva/plugin-renderer'
  3. import {TilingSprite, TilingSpriteSystem} from '@eva/plugin-renderer-tiling-sprite'
  4. resource.addResource([
  5. {
  6. name:'imageName',
  7. type: RESOURCE_TYPE.IMAGE,
  8. src: {
  9. image: {
  10. type:'png',
  11. url:'https://gw.alicdn.com/tfs/TB1t7vtOvb2gK0jSZK9XXaEgFXa-300-431.png'
  12. }
  13. },
  14. preload: true
  15. }
  16. ])
  17. const game = new Game({
  18. systems: [
  19. new RendererSystem({
  20. canvas: document.querySelector('#canvas'),
  21. width: 750,
  22. height: 1000
  23. }),
  24. new TilingSpriteSystem()
  25. ]
  26. })
  27. const tilingSprite = new GameObject('sprite', {
  28. size: {width: 750, height: 1000}
  29. })
  30. tilingSprite.addComponent(
  31. new TilingSprite({
  32. resource:'imageName',
  33. tileScale: {x: 0.7, y: 0.7 },
  34. tilePosition: {x: 10, y: 40}
  35. })
  36. )
  37. game.scene.addChild(tilingSprite)

Options

resource: String

Resource name

tileScale: {x: float, y: float}

Zoom

tilePosition: {x: number, y: number}

Displacement