-
-
Notifications
You must be signed in to change notification settings - Fork 105
id API cheatsheet
pmgl edited this page May 6, 2022
·
1 revision
screen.width | The current width of the screen in microStudio units |
screen.height | The current height of the screen in microStudio units |
screen.clear( [color] ) | Clears the screen (fills it in black, or in the optional color argument passed) |
screen.setColor( color ) | Sets the color for subsequent drawing operations. |
screen.setAlpha( opacity ) | Sets the opacity of subsequent drawing operations, in the range [0 .. 1] |
screen.setBlending( blending ) | Sets the blending mode for subsequent drawing operations |
screen.setLinearGradient( x1, y1, x2, y2, color1, color2 ) | Sets a linear gradient for subsequent drawing operations |
screen.setRadialGradient( x, y, radius, color1, color2 ) | Sets a radial gradient for subsequent drawing operations |
screen.setFont( font_name ) | Sets the name of the font to use for subsequent text drawing operations |
screen.setTranslation( tx, ty ) | Translates the screen coordinates |
screen.setScale( sx, sy ) | Scales the screen coordinates |
screen.setRotation( rotation ) | Rotates the screen coordinates |
screen.setDrawAnchor( x, y ) | Sets the anchor (pivot) point for drawing elements. Range for x and y: [-1 .. 1] |
screen.setDrawRotation( rotation ) | Sets a rotation angle for drawing elements, around their anchor point |
screen.setDrawScale( x, y ) | Sets the drawing scale for elements, on their x-axis and y-axis |
screen.fillRect( x, y, width, height [,color] ) | Draws a filled rectangle |
screen.fillRoundRect( x, y, width, height, roundness [,color] ) | Draws a filled rounded rectangle |
screen.fillRound( x, y, width, height [,color] ) | Draws a filled round shape (ellipse or circle depending on your arguments) |
screen.drawRect( x, y, width, height [,color] ) | Draws a rectangle outline |
screen.drawRoundRect( x, y, width, height, roundness [,color] ) | Draws a rounded rectangle outline |
screen.drawRound( x, y, width, height [,color] ) | Draws a round shape outline (ellipse or circle depending on your arguments) |
screen.drawSprite( name, x, y, width [,height] ) | Draws a sprite at given coordinates |
screen.drawSpritePart( name, px, py, pw, ph, x, y, width [,height] ) | Draws an area of this sprite at given coordinates |
screen.drawImage( image, x, y, width [,height] ) | Draws an image at given coordinates |
screen.drawImagePart( image, px, py, pw, ph, x, y, width [,height] ) | Draws an area of the image at given coordinates |
screen.drawMap( name, x, y, width [,height] ) | Draws a map at given coordinates |
screen.setPixelated( pixelated ) | Sets how sprites or images must be rendered: pixelated or smoothed |
screen.drawText( text, x, y, size [,color] ) | Draws text at given coordinates with given size |
screen.drawTextOutline( text, x, y, size [,color] ) | Draws text outline at given coordinates with given size |
screen.textWidth( text, size ) | Returns the width of the given text when drawn at given size |
screen.setLineWidth( width ) | Sets the width of lines for subsequent drawing operations |
screen.setLineDash( [2,4] ) | Sets the line style, as an array of lines and gaps |
screen.drawLine( x1, y1, x2, y2 ) | Draws a line |
screen.drawPolygon( x1, y1, x2, y2, x3, y3 ... [,color]) | The coordinates can also be passed as an array |
screen.drawPolyline( x1, y1, x2, y2, x3, y3 ... [,color]) | The coordinates can also be passed as an array |
screen.fillPolygon( x1, y1, x2, y2, x3, y3 ... [,color]) | The coordinates can also be passed as an array |
screen.setCursorVisible( visible ) | Sets whether the mouse cursor should be visible |
screen.loadFont( fontname ) | Initiates the loading of a font |
screen.isFontReady( fontname ) | Checks whether the font is ready to use |
"rgb(128,160,196)" | |
"rgba(128,160,196,0.5)" | |
"#8090A0" | |
"hsl(200,50%,50%)" | |
"hsla(200,50%,50%,0.25)" |
"normal" | "additive" | "source-out" | "source-atop" | "destination-over" |
"destination-in" | "destination-out" | "destination-atop" | "lighter" | "copy" |
"xor" | "multiply" | "screen" | "overlay" | "darken" |
"lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" |
"difference" | "exclusion" | "hue" | "saturation" | "color" |
"luminosity" | "source-over" | "source-in" |
See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
keyboard.A | keyboard.B | keyboard.UP | keyboard.SPACE |
keyboard.press.A | keyboard.press.B | keyboard.press.UP | keyboard.press.SPACE |
keyboard.release.A | keyboard.release.B | keyboard.release.UP | keyboard.release.SPACE |
gamepad.A | gamepad.B | gamepad.X |
gamepad.Y | gamepad.LB | gamepad.RB |
gamepad.VIEW | gamepad.MENU | gamepad.LS |
gamepad.RS | gamepad.DPAD_UP | gamepad.DPAD_DOWN |
gamepad.DPAD_LEFT | gamepad.DPAD_RIGHT | gamepad.LT |
gamepad.RT | gamepad.UP | gamepad.DOWN |
gamepad.LEFT | gamepad.RIGHT | gamepad.LEFT_STICK_UP |
gamepad.LEFT_STICK_DOWN | gamepad.LEFT_STICK_LEFT | gamepad.LEFT_STICK_RIGHT |
gamepad.RIGHT_STICK_UP | gamepad.RIGHT_STICK_DOWN | gamepad.RIGHT_STICK_LEFT |
gamepad.RIGHT_STICK_RIGHT | gamepad.LEFT_STICK_ANGLE | gamepad.LEFT_STICK_AMOUNT |
gamepad.RIGHT_STICK_ANGLE | gamepad.RIGHT_STICK_AMOUNT |
gamepad.press.A (B, X, Y ...) | gamepad.release.A (B, X, Y ...) |
gamepad[0].A (B, X, Y ...) | gamepad[1].A (B, X, Y ...) |
gamepad[2].press.A (B, X, Y ...) | gamepad[3].release.A (B, X, Y ...) |
touch.touching | |
touch.press | |
touch.release | |
touch.x | |
touch.y | |
touch.touches | list of all current active touches |
mouse.x | current mouse pointer position x |
mouse.y | current mouse pointer position y |
mouse.pressed | 1 if any mouse button is pressed, else 0 |
mouse.left | 1 if left mouse button is pressed, else 0 |
mouse.middle | 1 if middle mouse button is pressed, else 0 |
mouse.right | 1 if right mouse button is pressed, else 0 |
mouse.wheel | value can be 1 (up), -1 (down) or 0 |
mouse.press | 1 if any mouse button was just first pressed |
mouse.release | 1 when the last active mouse button was just released |
asset_manager.loadFont( path ) | Initiates loading of the font asset |
asset_manager.loadImage( path, callback ) | Loads image, returns a loader object and calls callback when ready |
asset_manager.loadModel( path, scene, callback ) | Loads 3D model, returns a loader object and calls callback when ready |
asset_manager.loadJSON( path, callback ) | Loads JSON as microScript object, returns a loader object and calls callback when ready |
asset_manager.loadText( path, callback ) | Loads TXT as microScript string, returns a loader object and calls callback when ready |
asset_manager.loadCSV( path, callback ) | Loads CSV as microScript string, returns a loader object and calls callback when ready |
member | description |
---|---|
system.time() | Returns the system time in milliseconds (time elapsed since January 1st 1970) |
system.language | Returns the language of the user |
system.inputs | Allows to check which input methods are available on the user's system |
system.inputs.keyboard | Returns 1 if the user's system has a keyboard |
system.inputs.mouse | Returns 1 if the user's system has a mouse pointer |
system.inputs.touch | Returns 1 if the user's system has a touch screen |
system.inputs.gamepad | Returns 1 if there is at least one plugged in, active gamepad |
system.prompt( text, callback) | Prompts the user to enter text and calls callback( ok, text )
|
system.say( text ) | Displays a message to the user, in a dialog box |
system.pause() | Pauses execution. Execution can be resumed with the "play" button in the microStudio interface |
system.exit() | Exits the program |
system.preemptive | Set to 1 by default, can be set to 0 to make the threading system non-preemptive |
system.threads | Holds a list of all the active threads (running or paused). |
storage.set( name, value ) | |
storage.get( name, value ) |
image = new Image( width, height ) |
Note: the default coordinates system for drawing into an image differs a lot from drawing on screen. When drawing on an image, the default unit is one pixel ; the origin is set to the upper left corner of the image. The y-axis is oriented downwards.
If you wish to create an image preconfigured with the centered, y-axis up coordinate system, you can do so by adding
true
as third parameter to the Image constructor:image = new Image( width, height , true )
member | description |
---|---|
image.width | Width of the image in pixels |
image.height | Height of the image in pixels |
image.clear( [color] ) | Clears the image |
image.setRGB( x, y, r, g, b) | Sets pixel color |
image.setRGBA( x, y, r, g, b, a) | Sets pixel color and opacity |
image.getRGB( x, y [,result]) | Returns pixel color as an object with R, G and B components |
image.getRGBA( x, y [,result]) | Returns pixel color as an object with R, G, B and A components |
image.setColor( color ) | Sets the color for subsequent drawing operations. |
image.setAlpha( opacity ) | Sets the opacity of subsequent drawing operations, in the range [0 .. 1] |
image.setBlending( blending ) | Sets the blending mode for subsequent drawing operations |
image.setLinearGradient( x1, y1, x2, y2, color1, color2 ) | Sets a linear gradient for subsequent drawing operations |
image.setRadialGradient( x, y, radius, color1, color2 ) | Sets a radial gradient for subsequent drawing operations |
image.setFont( font_name ) | Sets the name of the font to use for subsequent text drawing operations |
image.setTranslation( tx, ty ) | Translates the image coordinates |
image.setScale( sx, sy ) | Scales the image coordinates |
image.setRotation( rotation ) | Rotates the image coordinates |
image.setDrawAnchor( x, y ) | Sets the anchor (pivot) point for drawing elements. Range for x and y: [-1 .. 1] |
image.setDrawRotation( rotation ) | Sets a rotation angle for drawing elements, around their anchor point |
image.setDrawScale( x, y ) | Sets the drawing scale for elements, on their x-axis and y-axis |
image.fillRect( x, y, width, height [,color] ) | Draws a filled rectangle |
image.fillRoundRect( x, y, width, height, roundness [,color] ) | Draws a filled rounded rectangle |
image.fillRound( x, y, width, height [,color] ) | Draws a filled round shape (ellipse or circle depending on your arguments) |
image.drawRect( x, y, width, height [,color] ) | Draws a rectangle outline |
image.drawRoundRect( x, y, width, height, roundness [,color] ) | Draws a rounded rectangle outline |
image.drawRound( x, y, width, height [,color] ) | Draws a round shape outline (ellipse or circle depending on your arguments) |
image.drawSprite( name, x, y, width [,height] ) | Draws a sprite at given coordinates |
image.drawSpritePart( name, px, py, pw, ph, x, y, width [,height] ) | Draws an area of this sprite at given coordinates |
image.drawImage( image, x, y, width [,height] ) | Draws an image at given coordinates |
image.drawImagePart( image, px, py, pw, ph, x, y, width [,height] ) | Draws an area of the image at given coordinates |
image.drawMap( name, x, y, width [,height] ) | Draws a map at given coordinates |
image.setPixelated( pixelated ) | Sets how sprites or images must be rendered: pixelated or smoothed |
image.drawText( text, x, y, size [,color] ) | Draws text at given coordinates with given size |
image.drawTextOutline( text, x, y, size [,color] ) | Draws text outline at given coordinates with given size |
image.textWidth( text, size ) | Returns the width of the given text when drawn at given size |
image.setLineWidth( width ) | Sets the width of lines for subsequent drawing operations |
image.setLineDash( [2,4] ) | Sets the line style, as an array of lines and gaps |
image.drawLine( x1, y1, x2, y2 ) | Draws a line |
image.drawPolygon( x1, y1, x2, y2, x3, y3 ... [,color]) | The coordinates can also be passed as an array |
image.drawPolyline( x1, y1, x2, y2, x3, y3 ... [,color]) | The coordinates can also be passed as an array |
image.fillPolygon( x1, y1, x2, y2, x3, y3 ... [,color]) | The coordinates can also be passed as an array |
system.file.save( image, name [,format [, quality ]]) | Saves the image to the PC. Format can be set to "png" or "jpg" and quality (jpg only) in the range [0 .. 1] |
sprite = sprites["icon"] | Default global object sprites retains all project sprites |
sprite.fps = 10 | Change the animation speed in case of an animated sprite |
sprite.setFrame(0) | Sets the current animation frame |
image = sprite.frames[0] | Get the Image object of the first (or only) sprite frame |
sprite.frames.push( image ) | Add a new frame to this sprite |
audio.beep( string ) | |
audio.cancelBeeps() |
sound = audio.playSound( "mysound" ) | Starts playing the sound "mysound" and returns a controller object |
sound.setVolume( volume ) | |
sound.setPitch( pitch ) | |
sound.setPan( pan ) | |
sound.stop() |
music = audio.playMusic( "mymusic" ) | Starts playing the music "mymusic" and returns a controller object |
music.setVolume( volume ) | |
music.stop() | |
music.play() | |
music.getDuration() | in seconds |
music.getPosition() | in seconds |
music.setPosition( position ) | in seconds |
sound = new Sound( channels, length, sampleRate ) | Creates a sound object |
sound.write( channel, index, value ) | Writes sample data |
sound.read( channel, index ) | Reads sample data |
sound.play( [ volume, pitch, pan, loop ]) | |
system.file.save( sound, name ) | Saves the sound to the user's PC |