Skip to content

BcRikko/xypadjs

Repository files navigation

🎛️ XYPad.js

XYPad.js is XYPad controller component using Canvas API.

XYPad.jsはCanvasAPIを使った2次元パッドコントローラのコンポーネントです。

📚 Examples

rikko

🚀 Getting started

<div id="app"></div>
<p id="output"></p>
new XYPad({
  // Specifies the selector of the parent element. XYPad creates a Canvas element within parent element.
  // 親要素のセレクターを指定します。XYPadは親要素の中にCanvas要素を作成します。
  el: '#app',

  // (Option)Specifies the color of the current position pointer. The default color is `black `.
  // (省略可能)現在位置を示すポインターの色を指定します。デフォルトは`black`です。
  pointerColor: '#23CBF5',
  
  // (Option)Specifies the size of the Canvas elements to display. The default is 300px x 300px.
  // (省略可能)表示するCanvas要素のサイズを指定します。デフォルトは300x300です。
  width: 300,
  height: 300,

  // (Option)Specifies the maximum and minimum values that XYPad can take in two dimensions. The default is `xRange: {min: -100, max: 100}` `yRange: {min: -100, max: 100}`.
  // (省略可能)XYPadが取りうる2次元上の最大値と最小値を指定します。デフォルトは`xRange: {min: -100, max: 100}` `yRange: {min: -100, max: 100}`です。
  xRange: { min: -100, max: 100 },
  yRange: { min: -100, max: 100 },

  // (Option)Callback for pointer drag event. The argument value is a Pointer class.
  // (省略可能)ポインターのドラッグイベントのコールバックです。引数はPointerクラスです。
  callback: (pointer) => {
    document.querySelector('#output').innerHTML = pointer.toString()

    // current point
    const { x, y } = p.point

    // { x: 50, y: 30 }
    console.log(p.toString())
  })

  // (Option)Callback to start dragging. The argument value is a Pointer class.
  // (省略可能)ドラッグを開始したときのコールバックです。引数はPointerクラスです。
  onDragStart: (pointer) => {
    console.log('drag start:', p.toString())
  }

  // (Option)Callback while dragging. The argument value is a Pointer class.
  // (省略可能)ドラッグ中のコールバックです。引数はPointerクラスです。
  onDragMove: (pointer) => {
    console.log('drag move:', p.toString())
  }

  // (Option)Callback when finished dragging. The argument value is a Pointer class.
  // (省略可能)ドラッグを終了したときのコールバックです。引数はPointerクラスです。
  onDragEnd: (pointer) => {
    console.log('drag end:', p.toString())
  }
})

📖 API

destroy

xyPad.destroy()

Removes XYPad drag events.

XYPadのドラッグイベントを削除します。

getPointer

const p = xyPad.getPointer()
const { x, y } = p.point

Gets the value of the current pointer.

現在のポインターの値を取得します。

movePointerTo

const newPoint = new Pointer(10, 20)
xyPad.movePointerTo(newPoint)

// or

xyPad.movePointerTo(10, 20)

Sets the value of the current pointer.

ポインターの値を設定します。

©️ Copyright and license

Code and documentation copyright 2019 B.C.Rikko. Code released under the MIT License. Docs released under Creative Commons.

Releases

No releases published

Sponsor this project

 

Packages

No packages published