1.0.6 • Published 4 years ago

easy-sprite.js v1.0.6

Weekly downloads
3
License
MIT
Repository
github
Last release
4 years ago

easy-sprite

Install

npm install --save easy-sprite.js

or

yarn add easy-sprite.js

如何使用

import {Stage, Rect, Ellipse} from 'easy-sprite.js';

const canvas = document.getElementById('canvas');
  class MyGame extends Stage {

  }

  const stage = new MyGame(canvas, {
    width: 1000,
    height: 600,
  });

  stage.showFPS = true;

  // 添加一个矩形
  const rect = new Rect(100, 100, 100, 100);
  rect.fillStyle = 'green';
  stage.addChild(rect);
  // 旋转 会影响children
  rect.rotation = 45 * Math.PI * 2 / 360;

  // 矩形上面添加一个椭圆
  const ellipse = new Ellipse(50, 50, 50, 40);
  ellipse.fillStyle = 'red';
  rect.addChild(ellipse);

 // 事件侦听
  ellipse.addEventListener('click', (e) => {
    console.log(e)
  })

关于动画的使用,自行选择喜欢的动画库即可,以下以 tween.js 为例

npm install --save  @tweenjs/tween.js@^18

or

yarn add  @tweenjs/tween.js@^18
 class MyGame extends Stage {
    onUpdated(time: number) {
      TWEEN.update(time);
    }
  }

  const stage = new MyGame(canvas, {
    width: 1000,
    height: 600,
  });

  stage.showFPS = true;

  // 添加一个矩形
  const rect = new Rect(100, 100, 100, 100);
  rect.fillStyle = 'green';
  stage.addChild(rect);
  // 旋转 会影响children
  rect.rotation = 45 * Math.PI * 2 / 360;

  // 矩形上面添加一个椭圆
  const ellipse = new Ellipse(50, 50, 50, 40);
  ellipse.fillStyle = 'red';
  ellipse.rotation = 45 * Math.PI * 2 / 360;
  rect.addChild(ellipse);



  // 补间动画
  new TWEEN.Tween(rect)
    .to({ x: rect.x + 500, y: rect.y, rotation: 360 * Math.PI * 2 / 360 }, 1000)
    .easing(TWEEN.Easing.Quadratic.Out)
    .repeat(Infinity)
    .yoyo(true)
    .start(0)

Sprite 展示元素的基类

方法名称说明类型
addChild添加子节点(sprite: Sprite): void
removeChild移除子节点(sprite: Sprite): void
removeAll移除所有子节点(): void
contains是否是包含的子节点(sprite: Sprite) : boolean
isHitPoint碰撞检测(x: number, y: number): boolean
addEventListener添加事件侦听(type: EventType, handler: EventTypeHandler): void
removeEventListener移除事件侦听(type: EventType, handler: EventTypeHandler): void
stopPropagation是否取消冒泡(): void
isHitPoint碰撞检测(x: number, y: number): boolean
onBeforeUpdate更新之前的回调,需要重写此方法(): void
onUpdated更新之后的回调,需要重写此方法(time:number): void
属性名称说明类型
xx 坐标,默认0number
yy 坐标,默认0number
width宽,默认0number
height高,默认0number
rotation旋转角度,默认0°number
zIndex层级,默认0number
transformOrigin旋转点,默认 'center', 'center''left' 'right' 'center' 'top' 'bottom'
children子节点,默认[]Sprite[]
parent父节点,默认nullSpritenull
touchEnabled是否响应事件,默认trueboolean
Graphics重写部分 canvas.context
1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago