Post by Admin on Jul 3, 2020 2:20:00 GMT
Besides all the JavaScript functionality Tauon Basic Script Language offers following:
Stage global object, holds all sprites and sprite groups created.
Time global object, contains the following properties:
time - time since the current program is running in milliseconds.
deltaTime - time passed since the last frame.
smoothDeltaTime - smoothed time passed since the last frame.
now - current system time in milliseconds.
fps - average FPS.
ticks - ticks passed since the program start.
Screen global object, contains the following properties:
width - screen width.
height - screen height.
randX - get random X coordinate on the screen.
randY - get random Y coordinate on the screen.
isKeyDown(scanCode) - returns true if keyboard key with specified scan code is pressed.
clearStage(color) - clears the stage and sets background color if provided.
setBackgroundColor(color) set background color.
setOscillatorType(oscillatorType,channel=0) set the oscillator type of specified audio channel (0 by default). Supported types are: 'sine','square','sawtooth','triangle'.
playSoundFrequency(frequency,duration,channel=0,resetQueue=false) adds specified frequency to the play queue for the specified audio channel (0 by default).
playMidiNote(note,duration,channel=0,resetQueue=false) plays note by number (as per MIDI specification)
beep(pitch,duration,channel=0,resetQueue=false) plays simple beep sound, as in ZX Basic. Be aware that argument order differs. ZX Basic BEEP 1,0 equals to Tauon Basic beep(0,1)
playMusic(musicNotationString,channel=0,resetQueue=false) play complicated music track. The notation description you can find here.
createSpriteGroup() creates a sprite group and adds it to Stage.
showSprite(sprite)
hideSprite(sprite)
setSprite(sprite,px,py,pz,rz,sx,sy) sets the position, rotation and scale of the sprite on stage.
setSpriteScale(sprite,sx,sy) sets the scale of the sprite on stage.
resetSprite(sprite) re-initialize sprite
loadSpriteFromUrl(src) returns sprite created from image found on URL
loadSpriteFromFile(fileName) returns sprite loaded from local filesystem path.
createSpriteFromChar(character,size,inkColor,paperColor,clampWidth,clampHeight,fontFace) returns sprite created from characters, LiberationMono and TwemojiMozilla font faces are supported.
createSpriteFromEmoji(character,size,paperColor,clampWidth,clampHeight) returns sprite created from Emoji found in TwemojiMozilla font.
createSpriteFromBin(clampWidth,clampHeight,bytesArray,inkColor,paperColor) returns sprite created from binary data array. Each element of the array would be treated as a binary number [0..255]. Each bit of that number will define 8 pixels in the sprite. All bits equal to 1 would produce pixels with inkColor. Bits equal to 0 - with paperColor. If paperColor parameter is omitted, a transparent color would be used for 0 bits.
hexColorToRGBA(hexString) convert hex color to RGBA array
paletteCharToHexColor(paletteChar,paletteIndex) returns hex color from Palette with index paletteChar (paletteIndex=0 - ZX Spectrum Palette, paletteIndex=1 - Commodore 64 Palette)
createSpriteFromData(width,height,imageDataStr,paletteIndex) returns sprite created from imageDataStr, where each character represents pixel in palette [0..9A..Z]. The two default palettes have 17 colors [0..G].
exitOnAnyKey(exitOnAnyKeyPressed) call this function with false argument to prevent program from exit when any key is pressed.
shellExec(cmd,func) execute Linux shell command and pass the result to function when done.
end() return to IDE or exit from the application if in standalone mode.
If you define onUpdate function in your code, it will be constantly called 50-60 times per second;
Examples: tauon.boards.net/thread/15/tauon-basic-script-examples
Stage global object, holds all sprites and sprite groups created.
Time global object, contains the following properties:
time - time since the current program is running in milliseconds.
deltaTime - time passed since the last frame.
smoothDeltaTime - smoothed time passed since the last frame.
now - current system time in milliseconds.
fps - average FPS.
ticks - ticks passed since the program start.
Screen global object, contains the following properties:
width - screen width.
height - screen height.
randX - get random X coordinate on the screen.
randY - get random Y coordinate on the screen.
isKeyDown(scanCode) - returns true if keyboard key with specified scan code is pressed.
clearStage(color) - clears the stage and sets background color if provided.
setBackgroundColor(color) set background color.
setOscillatorType(oscillatorType,channel=0) set the oscillator type of specified audio channel (0 by default). Supported types are: 'sine','square','sawtooth','triangle'.
playSoundFrequency(frequency,duration,channel=0,resetQueue=false) adds specified frequency to the play queue for the specified audio channel (0 by default).
playMidiNote(note,duration,channel=0,resetQueue=false) plays note by number (as per MIDI specification)
beep(pitch,duration,channel=0,resetQueue=false) plays simple beep sound, as in ZX Basic. Be aware that argument order differs. ZX Basic BEEP 1,0 equals to Tauon Basic beep(0,1)
playMusic(musicNotationString,channel=0,resetQueue=false) play complicated music track. The notation description you can find here.
createSpriteGroup() creates a sprite group and adds it to Stage.
showSprite(sprite)
hideSprite(sprite)
setSprite(sprite,px,py,pz,rz,sx,sy) sets the position, rotation and scale of the sprite on stage.
setSpriteScale(sprite,sx,sy) sets the scale of the sprite on stage.
resetSprite(sprite) re-initialize sprite
loadSpriteFromUrl(src) returns sprite created from image found on URL
loadSpriteFromFile(fileName) returns sprite loaded from local filesystem path.
createSpriteFromChar(character,size,inkColor,paperColor,clampWidth,clampHeight,fontFace) returns sprite created from characters, LiberationMono and TwemojiMozilla font faces are supported.
createSpriteFromEmoji(character,size,paperColor,clampWidth,clampHeight) returns sprite created from Emoji found in TwemojiMozilla font.
createSpriteFromBin(clampWidth,clampHeight,bytesArray,inkColor,paperColor) returns sprite created from binary data array. Each element of the array would be treated as a binary number [0..255]. Each bit of that number will define 8 pixels in the sprite. All bits equal to 1 would produce pixels with inkColor. Bits equal to 0 - with paperColor. If paperColor parameter is omitted, a transparent color would be used for 0 bits.
hexColorToRGBA(hexString) convert hex color to RGBA array
paletteCharToHexColor(paletteChar,paletteIndex) returns hex color from Palette with index paletteChar (paletteIndex=0 - ZX Spectrum Palette, paletteIndex=1 - Commodore 64 Palette)
createSpriteFromData(width,height,imageDataStr,paletteIndex) returns sprite created from imageDataStr, where each character represents pixel in palette [0..9A..Z]. The two default palettes have 17 colors [0..G].
exitOnAnyKey(exitOnAnyKeyPressed) call this function with false argument to prevent program from exit when any key is pressed.
shellExec(cmd,func) execute Linux shell command and pass the result to function when done.
end() return to IDE or exit from the application if in standalone mode.
If you define onUpdate function in your code, it will be constantly called 50-60 times per second;
Examples: tauon.boards.net/thread/15/tauon-basic-script-examples