Difference between revisions of "Reference"
From Gamebuino Wiki
(→buttons) |
m ("Library" link removed) |
||
(55 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | + | Here is listed and explained all Gamebuino specific functions, part of the Gamebuino Library (see [[Getting started]] to install it). | |
− | + | See [http://arduino.cc/en/Reference/HomePage Arduino Reference] for general purpose/basic functions and data types. | |
− | |||
− | == | + | Note: Arguments in ''italic'' are optional. |
+ | <div style="float:left;width:480px;margin-right:10px;"> | ||
+ | |||
+ | == Core == | ||
<code> | <code> | ||
− | * [[gb.begin]](''F("name")'', ''logo'') | + | * [[gb.begin]]() |
+ | * [[gb.titleScreen]](''F("name")'', ''logo'') | ||
* [[gb.update]]() | * [[gb.update]]() | ||
* [[gb.setFrameRate]](fps) | * [[gb.setFrameRate]](fps) | ||
+ | * [[gb.pickRandomSeed]]() | ||
+ | * [[gb.changeGame]]() | ||
* [[gb.frameCount]] | * [[gb.frameCount]] | ||
+ | * [[gb.getDefaultName]](string) //10 char | ||
</code> | </code> | ||
User interface : | User interface : | ||
<code> | <code> | ||
− | |||
* [[gb.menu]](menu, length) | * [[gb.menu]](menu, length) | ||
− | * [[gb.keyboard]]( | + | * [[gb.keyboard]](string, length) |
− | * [[gb.popup]](F("text")) | + | * [[gb.popup]](F("text"), duration) |
− | * [[gb. | + | </code> |
+ | Physics: | ||
+ | <code> | ||
+ | * [[gb.collidePointRect]](x1,y1,x2,y2,w,h) | ||
+ | * [[gb.collideRectRect]](x1,y1,w1,h1,x2,y2,w2,h2) | ||
+ | * [[gb.collideBitmapBitmap]](x1, y1, b1, x2, y2, b2) | ||
</code> | </code> | ||
Perfomance monitor : | Perfomance monitor : | ||
<code> | <code> | ||
* [[gb.getCpuLoad]]() | * [[gb.getCpuLoad]]() | ||
− | * [[gb. | + | * [[gb.getFreeRam]]() |
* [[gb.frameDurationMicros]] | * [[gb.frameDurationMicros]] | ||
</code> | </code> | ||
− | == | + | == Buttons == |
<code> | <code> | ||
* [[gb.buttons.pressed]](button) | * [[gb.buttons.pressed]](button) | ||
Line 34: | Line 44: | ||
* [[gb.buttons.repeat]](button, period) | * [[gb.buttons.repeat]](button, period) | ||
* [[gb.buttons.timeHeld]](button) | * [[gb.buttons.timeHeld]](button) | ||
− | + | buttons: | |
+ | |||
+ | BTN_A, BTN_B, BTN_C, BTN_UP, BTN_RIGHT, BTN_DOWN, BTN_LEFT | ||
</code> | </code> | ||
− | == | + | == Sound == |
− | + | * [[Sound]] : overall explanation of how the sound library works | |
− | <code> | + | |
− | * [[gb.sound. | + | Tracks<code> |
+ | * [[gb.sound.playTrack]](track, channel) | ||
+ | * [[gb.sound.stopTrack]](''channel'') | ||
+ | * [[gb.sound.changePatternSet]](patternSet, channel) | ||
+ | </code>Pattern<code> | ||
+ | * [[gb.sound.playPattern]](sound, channel) | ||
+ | * [[gb.sound.stopPattern]](''channel'') | ||
+ | * [[gb.sound.setPatternLooping]](boolean, channel) | ||
* [[gb.sound.isPlaying]](channel) | * [[gb.sound.isPlaying]](channel) | ||
− | * [[gb.sound. | + | </code>Notes & commands<code> |
− | * [[gb.sound. | + | * [[gb.sound.playNote]](pitch, duration, channel) |
− | * [[gb.sound. | + | * [[gb.sound.command]](command, X, Y, channel) |
+ | * [[gb.sound.changeInstrumentSet]](instrumentSet, channel) | ||
</code> | </code> | ||
− | + | Build-in sounds | |
<code> | <code> | ||
− | * [[gb.sound. | + | * [[gb.sound.playOK]]() |
− | * [[gb.sound. | + | * [[gb.sound.playCancel]]() |
+ | * [[gb.sound.playTick]]() | ||
</code> | </code> | ||
− | + | Misc | |
<code> | <code> | ||
− | * [[gb.sound. | + | * [[gb.sound.setVolume]](volume, ''channel'') |
− | * [[gb.sound. | + | * [[gb.sound.getVolume]](''channel'') |
− | * [[gb.sound. | + | * [[gb.sound.setInstruments]](instruments, channel) |
+ | * [[gb.sound.prescaler]] | ||
</code> | </code> | ||
− | == | + | == Battery == |
<code> | <code> | ||
* [[gb.battery.voltage]] | * [[gb.battery.voltage]] | ||
Line 67: | Line 89: | ||
</code> | </code> | ||
− | == | + | == Backlight == |
<code> | <code> | ||
* [[gb.backlight.set]](brightness) | * [[gb.backlight.set]](brightness) | ||
Line 73: | Line 95: | ||
* [[gb.backlight.backlightValue]] | * [[gb.backlight.backlightValue]] | ||
* [[gb.backlight.ambientLight]] | * [[gb.backlight.ambientLight]] | ||
+ | |||
+ | The following should be set using SETTINGS.HEX | ||
* [[gb.backlight.backlightMin]] = 0 to 255 | * [[gb.backlight.backlightMin]] = 0 to 255 | ||
* [[gb.backlight.backlightMax]] = 0 to 255 | * [[gb.backlight.backlightMax]] = 0 to 255 | ||
Line 79: | Line 103: | ||
</code> | </code> | ||
− | </div><div style="float:left;width: | + | </div><div style="float:left;width:480px;margin-right:0;"> |
+ | |||
+ | == Display == | ||
+ | Useful constants: <code>LCDWIDTH, LCDHEIGHT, gb.display.fontWidth, gb.display.fontHeight</code> | ||
− | |||
General : | General : | ||
<code> | <code> | ||
− | |||
* [[gb.display.clear]]() | * [[gb.display.clear]]() | ||
* [[gb.display.update]]() | * [[gb.display.update]]() | ||
* [[gb.display.fillScreen]](color) | * [[gb.display.fillScreen]](color) | ||
− | * [[gb.display | + | * [[gb.display.setColor]](color, ''background'') |
− | + | * [[gb.display.persistence]] = true/false | |
</code> | </code> | ||
Line 118: | Line 143: | ||
* [[gb.display.fillCircle]](x, y, r) | * [[gb.display.fillCircle]](x, y, r) | ||
* [[gb.display.drawCircleHelper]](x, y, r, corner) | * [[gb.display.drawCircleHelper]](x, y, r, corner) | ||
− | * [[gb.display.fillCircleHelper]](x, y, r, corner) | + | * [[gb.display.fillCircleHelper]](x, y, r, corner, delta) |
</code> | </code> | ||
Triangles : | Triangles : | ||
<code> | <code> | ||
− | * [[gb.display.drawTriangle]](x0, y0, x1, y1, x2, y2) | + | * [[gb.display.drawTriangle]](x0,y0,x1,y1,x2,y2) |
− | * [[gb.display.fillTriangle]](x0, y0, x1, y1, x2, y2) | + | * [[gb.display.fillTriangle]](x0,y0,x1,y1,x2,y2) |
</code> | </code> | ||
Bitmaps : | Bitmaps : | ||
<code> | <code> | ||
− | * [[gb.display.drawBitmap]](x, y, bitmap, ''rotation, flip'') | + | * [[gb.display.drawBitmap]](x,y,bitmap,''rotation'',''flip'') |
</code> | </code> | ||
+ | * rotation: <code>NOROT, ROTCCW, ROT180, ROTCW</code> | ||
+ | * flip: <code>NOFLIP, FLIPH, FLIPV, FLIPVH</code> | ||
Text : | Text : | ||
<code> | <code> | ||
+ | * [[gb.display.print]](text or numbers) | ||
+ | * [[gb.display.println]](text or numbers) | ||
* [[gb.display.drawChar]](x, y, char, size) | * [[gb.display.drawChar]](x, y, char, size) | ||
− | * [[gb.display. | + | * [[gb.display.setFont]](font) |
− | * [[gb.display. | + | * [[gb.display.cursorX]] = x |
− | * [[gb.display. | + | * [[gb.display.cursorY]] = y |
− | * [[gb.display. | + | * [[gb.display.fontSize]] = size |
+ | * [[gb.display.textWrap]] = true/false | ||
</code> | </code> | ||
+ | Advanced : | ||
+ | <code> | ||
+ | * [[gb.display.getBuffer]]() | ||
+ | * [[gb.display.getBitmapPixel]](bitmap, x, y) | ||
+ | </code> | ||
</div> | </div> |
Latest revision as of 2014-09-06T12:22:52
Here is listed and explained all Gamebuino specific functions, part of the Gamebuino Library (see Getting started to install it).
See Arduino Reference for general purpose/basic functions and data types.
Note: Arguments in italic are optional.
Core
- gb.begin()
- gb.titleScreen(F("name"), logo)
- gb.update()
- gb.setFrameRate(fps)
- gb.pickRandomSeed()
- gb.changeGame()
- gb.frameCount
- gb.getDefaultName(string) //10 char
User interface :
- gb.menu(menu, length)
- gb.keyboard(string, length)
- gb.popup(F("text"), duration)
Physics:
- gb.collidePointRect(x1,y1,x2,y2,w,h)
- gb.collideRectRect(x1,y1,w1,h1,x2,y2,w2,h2)
- gb.collideBitmapBitmap(x1, y1, b1, x2, y2, b2)
Perfomance monitor :
Buttons
- gb.buttons.pressed(button)
- gb.buttons.released(button)
- gb.buttons.held(button, duration)
- gb.buttons.repeat(button, period)
- gb.buttons.timeHeld(button)
buttons:
BTN_A, BTN_B, BTN_C, BTN_UP, BTN_RIGHT, BTN_DOWN, BTN_LEFT
Sound
- Sound : overall explanation of how the sound library works
Tracks
- gb.sound.playTrack(track, channel)
- gb.sound.stopTrack(channel)
- gb.sound.changePatternSet(patternSet, channel)
Pattern
- gb.sound.playPattern(sound, channel)
- gb.sound.stopPattern(channel)
- gb.sound.setPatternLooping(boolean, channel)
- gb.sound.isPlaying(channel)
Notes & commands
- gb.sound.playNote(pitch, duration, channel)
- gb.sound.command(command, X, Y, channel)
- gb.sound.changeInstrumentSet(instrumentSet, channel)
Build-in sounds
Misc
- gb.sound.setVolume(volume, channel)
- gb.sound.getVolume(channel)
- gb.sound.setInstruments(instruments, channel)
- gb.sound.prescaler
Battery
- gb.battery.voltage
- gb.battery.level
- gb.battery.show = true/false
Backlight
- gb.backlight.set(brightness)
- gb.backlight.automatic = true/false
- gb.backlight.backlightValue
- gb.backlight.ambientLight
The following should be set using SETTINGS.HEX
- gb.backlight.backlightMin = 0 to 255
- gb.backlight.backlightMax = 0 to 255
- gb.backlight.ambientLightMin = 0 to 1024
- gb.backlight.ambientLightMax = 0 to 1024
Display
Useful constants: LCDWIDTH, LCDHEIGHT, gb.display.fontWidth, gb.display.fontHeight
General :
- gb.display.clear()
- gb.display.update()
- gb.display.fillScreen(color)
- gb.display.setColor(color, background)
- gb.display.persistence = true/false
Pixels :
- gb.display.drawPixel(x, y)
- gb.display.getPixel(x, y)
Lines :
- gb.display.drawLine(x0, y0, x1, y1)
- gb.display.drawFastVLine(x, y, h)
- gb.display.drawFastHLine(x, y, w)
Rectangles :
- gb.display.drawRect(x, y, w, h)
- gb.display.fillRect(x, y, w, h)
- gb.display.drawRoundRect(x, y, w, h, r)
- gb.display.fillRoundRect(x, y, w, h, r)
Circles :
- gb.display.drawCircle(x, y, r)
- gb.display.fillCircle(x, y, r)
- gb.display.drawCircleHelper(x, y, r, corner)
- gb.display.fillCircleHelper(x, y, r, corner, delta)
Triangles :
- gb.display.drawTriangle(x0,y0,x1,y1,x2,y2)
- gb.display.fillTriangle(x0,y0,x1,y1,x2,y2)
Bitmaps :
- gb.display.drawBitmap(x,y,bitmap,rotation,flip)
- rotation:
NOROT, ROTCCW, ROT180, ROTCW
- flip:
NOFLIP, FLIPH, FLIPV, FLIPVH
Text :
- gb.display.print(text or numbers)
- gb.display.println(text or numbers)
- gb.display.drawChar(x, y, char, size)
- gb.display.setFont(font)
- gb.display.cursorX = x
- gb.display.cursorY = y
- gb.display.fontSize = size
- gb.display.textWrap = true/false
Advanced :
- gb.display.getBuffer()
- gb.display.getBitmapPixel(bitmap, x, y)