1.9.1 • Published 5 months ago

slot-reel v1.9.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

npm GitHub package version NPM Downloads

Demo

Install

yarn add slot-reel

Import

import SlotReel from 'slot-reel';

For CommonJS environments, you may need to access the default export explicitly:

const SlotReel = require('slot-reel').default;

Usage

const slotReel = new SlotReel({
  containerElSelector: '#slot-container',
  spinButtonSelector: '#spin-button',
  textureUrls: ['path/to/texture1.png', 'path/to/texture2.png', 'path/to/texture3.png'],
  cylindersCount: 3,
  geometryDimensions: [0.75, 0.75, 1],
  radialSegments: 64,
  symbolsPerReel: 5,
  initialSegments: [1, 3, 5],
  stopAtSegments: [2, 4, 5],
  queuedSpinStates: [
    { stopAtSegments: [3, 1, 4], callback: () => console.log('First spin done!') },
    { stopAtSegments: [5, 4, 3], callback: () => console.log('Second spin done!') }
  ],
  onAllSpinsComplete: () => console.log('All spins are complete!')
});

slotReel.init();

Options

OptionTypeDefaultDescription
containerElSelectorstring''CSS selector for the container element.
spinButtonSelectorstring''CSS selector for the spin button.
cameraDistancenumber10Distance of the camera from the scene.
textureUrls(string \| URL)[][]Array of texture image URLs for the cylinders.
geometryDimensions[number, number, number][1, 1, 1]Dimensions of the cylinder geometry (radius, height, depth).
radialSegmentsnumber16Number of radial segments on the cylinders.
symbolsPerReelnumber5The number of symbols evenly distributed across the surface of each reel.
cylinderSpacingRationumber0Ratio for spacing between cylinders.
baseSpinSpeednumber1Base speed for spinning cylinders.
spinAccelFactornumber30Acceleration multiplier for spinning speed.
initialSegmentsnumber[][]Initial segment indices for each cylinder.
stopAtSegmentsnumber[][]Array defining the segments where cylinders should stop.
queuedSpinStatesSpinState[][]Queue of spin states, including stopping segments and callbacks.
onAllSpinsComplete() => voidundefinedCallback triggered when all spins in the queue are completed.
cylindersCountnumber3Number of cylinders in the slot machine.
decelerationEasenumber1.5Factor controlling deceleration smoothness.
cylinderStopDelayMsnumber250Delay (ms) between stopping successive cylinders.

Methods

MethodDescription
init()Initializes the slot reel, setting up the scene, cylinders, and event listeners.

License

SlotReel is released under the MIT license.

1.9.1

5 months ago

1.9.1-dev.0

5 months ago

1.9.0

5 months ago

1.8.0

5 months ago

1.7.0

8 months ago

1.6.0

8 months ago

1.4.0

8 months ago

1.3.0

8 months ago

1.2.0

8 months ago

1.1.0

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago

0.0.1-alpha.3

8 months ago

0.0.1-alpha.2

8 months ago

0.0.1-alpha.1

8 months ago