Viewport-coordinate
Introduction¶
Attach vpx, vpy properties to a game object, to set position according to proportion (vpx, vpy) of viewport, a rectangle).
- Author: Rex
- Method only
Live demos¶
Usage¶
Install plugin¶
Load minify file¶
- Load plugin (minify file) in preload stage
scene.load.plugin('rexviewportcoordinateplugin', 'https://raw.githubusercontent.com/rexrainbow/phaser3-rex-notes/master/dist/rexviewportcoordinateplugin.min.js', true); - Attach
vpx,vpyproperties.scene.plugins.get('rexviewportcoordinateplugin').add(gameObject, viewport, vpx, vpy); gameObject.vpx = 0.5; gameObject.vpy = 0.5;
Import plugin¶
- Install rex plugins from npm
npm i phaser3-rex-plugins - Install plugin in configuration of game
import ViewportCoordinatePlugin from 'phaser3-rex-plugins/plugins/viewportcoordinate-plugin.js'; var config = { // ... plugins: { global: [{ key: 'rexViewportCoordinate', plugin: ViewportCoordinatePlugin, start: true }, // ... ] } // ... }; var game = new Phaser.Game(config); - Attach
vpx,vpy,vpxOffset,vpyOffsetproperties.scene.plugins.get('rexViewportCoordinate').add(gameObject, viewport, vpx, vpy); gameObject.vpx = 0.5; gameObject.vpy = 0.5; gameObject.vpxOffset = 0; gameObject.vpyOffset = 0;
Import method¶
- Install rex plugins from npm
npm i phaser3-rex-plugins - Import method
import AddViewportCoordinateProperties from 'phaser3-rex-plugins/plugins/viewportcoordinate.js'; - Attach
vpx,vpy,vpxOffset,vpyOffsetproperties.AddViewportCoordinateProperties(gameObject, viewport, vpx, vpy); gameObject.vpx = 0.5; gameObject.vpy = 0.5; gameObject.vpxOffset = 0; gameObject.vpyOffset = 0;
Attach properties¶
scene.plugins.get('rexViewportCoordinate').add(gameObject, viewport, vpx, vpy, transformCallback);
vpx,vpy: Proportion of viewport.vpxOffset,vpyOffset: Offset of position.viewport: Viewport in rectangletransformCallback: Transform callback.undefined: Use default transform callback.function(vpx, vpy, vpxOffset, vpyOffset, viewport, out) { gameObject.x = viewport.x + (viewport.width * vpx) + vpxOffset; gameObject.y = viewport.y + (viewport.height * vpy) + vpyOffset; }
Changing
gameObject.vpx,gameObject.vpy,gameObject.vpxOffset,gameObject.vpyOffsetx,y,width,heightof viewport (a rectangle)
Will change position (x , y) of game object.