Exemple d'utilisation. C'est une fonction pour éteindre l'écran, mais vous pouvez spécifier la couleur.
import gamebuino_meta as gb
import time
gb.display.clear( gb.color.BLUE )
gb.updateDisplay()
time.sleep( 0.5 )
gb.display.clear( gb.color.WHITE )
gb.updateDisplay()
time.sleep( 0.5 )
gb.display.clear( gb.color.RED )
gb.updateDisplay()
time.sleep(0.5)
gb.display.clear()
gb.updateDisplay()
Il a la même fonction que "clear ()" mais la spécification de couleur ne peut pas être omise.
Afficher les caractères. Vous pouvez également spécifier des coordonnées.
import gamebuino_meta as gb
gb.display.clear()
gb.display.print( 123 )
gb.display.print( "Hello world" )
gb.display.print( 16, 24, "Gamebuino" )
gb.updateDisplay()
println() a la même fonction que print() sauf que la ligne est modifiée.
import gamebuino_meta as gb
gb.display.clear()
for i in range( 10 ):
gb.display.println("Hello gamebuino!")
gb.updateDisplay()
import gamebuino_meta as gb
gb.display.clear()
gb.display.setFontSize( 2 )
gb.display.println("Hello")
gb.display.setFontSize( 3 )
gb.display.println("world")
gb.updateDisplay()
import gamebuino_meta as gb
gb.display.clear()
gb.display.setColor( gb.color.BLUE)
gb.display.drawLine(0,0,79,63)
gb.display.setColor( gb.color.GREEN)
gb.display.drawLine(79,0, 0,63)
gb.updateDisplay()
import gamebuino_meta as gb
gb.display.clear()
for i in range( 20 ):
gb.display.drawRect( 39 - i * 2, 31 - i * 2 , i * 4 , i * 4 )
gb.updateDisplay()
import gamebuino_meta as gb
gb.display.clear()
gb.display.setColor( 509 )
gb.display.fillRect( 0,0,26,63 )
gb.display.setColor( gb.color.WHITE )
gb.display.fillRect( 26,0,24,63 )
gb.display.setColor( 61441 )
gb.display.fillRect( 50,0,29,63 )
gb.updateDisplay()
import gamebuino_meta as gb
import random
gb.display.clear()
for i in range(200):
x = random.randint(0,79)
y = random.randint(0,63)
gb.display.drawPixel(x,y)
gb.updateDisplay()
gb.display.clear()
for i in range(500):
x = random.randint(0,79)
y = random.randint(0,63)
c = random.randint(0,65535)
gb.display.drawPixel(x,y,c)
gb.updateDisplay()
import gamebuino_meta as gb
gb.display.clear()
for i in range(30):
gb.display.drawCircle(39,31,i*2)
gb.updateDisplay()
import gamebuino_meta as gb
import random
gb.display.clear()
for i in range(30):
gb.display.setColor( random.randint(0,65535) )
gb.display.fillCircle(39,31,(30-i)*2)
gb.updateDisplay()
import gamebuino_meta as gb
gb.display.clear()
for j in range(4):
for i in range(10):
gb.display.drawTriangle(i*8, j*16, i*8+7, j*16, i*8+3, j*16+7)
for i in range(9):
gb.display.drawTriangle(i*8+4, j*16+8, i*8+11, j*16+8, i*8+7, j*16+15)
gb.updateDisplay()
En rond ...
import gamebuino_meta as gb
import math
def rotatePoint(x,y,r):
px = x * math.cos(math.radians(r)) - y * math.sin(math.radians(r))
py = x * math.sin(math.radians(r)) + y * math.cos(math.radians(r))
return math.floor(px),math.floor(py)
r=0
cx = math.floor(gb.display.width() / 2)
cy = math.floor(gb.display.height() / 2)
while True:
gb.waitForUpdate()
gb.display.clear()
px1,py1 = rotatePoint(0,30,r)
px2,py2 = rotatePoint(0,30,r+120)
px3,py3 = rotatePoint(0,30,r+240)
gb.display.fillTriangle(px1+cx,py1+cy,px2+cx,py2+cy,px3+cx,py3+cy)
r = (r + 4) % 360
import gamebuino_meta as gb
gb.display.clear()
gb.display.drawRoundRect(0,0,10,10,1)
gb.display.drawRoundRect(20,0,10,10,2)
gb.display.drawRoundRect(40,0,10,10,3)
gb.display.drawRoundRect(60,0,10,10,4)
gb.display.drawRoundRect(0,40,80,20,3)
gb.display.print( 2,42, "Message Window" )
gb.updateDisplay()
import gamebuino_meta as gb
gb.display.clear()
gb.display.setColor( gb.color.BLUE)
gb.display.fillRoundRect(0,40,80,20,3)
gb.display.setColor( gb.color.WHITE)
gb.display.drawRoundRect(0,40,80,20,3)
gb.display.print( 2,42, "Message Window" )
gb.updateDisplay()
la couleur peut utiliser 16 couleurs préparées depuis le début.
Si vous voulez choisir une couleur plus strictement.
Utilisez une couleur de la forme RGB565.
import gamebuino_meta as gb
gb.display.clear()
gb.display.setColor( gb.color.BEIGE )
gb.display.print("Hello")
gb.updateDisplay()
Lorsque vous souhaitez spécifier une couleur au format RGB565.
import gamebuino_meta as gb
import math
def rgb565(r,g,b):
r2 = math.floor( r / 256 * 31 )
g2 = math.floor( g / 256 * 64 )
b2 = math.floor( b / 256 * 31 )
return (r2 << 11) | (g2 << 5) | b2
gb.display.clear()
gb.display.setColor( rgb565( 220,100,100) )
gb.display.print("Hello")
gb.updateDisplay()
C'est une fonction héritée mais la taille des données est petite.
Un octet de données correspond à 8 points.(Une seule couleur.)
import gamebuino_meta as gb
bitmap = bytes([
8, 8,
0b01010101,
0b10101010,
0b01010101,
0b10101010,
0b01010101,
0b10101010,
0b01010101,
0b10101010,
])
gb.display.clear()
gb.display.setColor( gb.color.WHITE)
gb.display.drawBitmap(0,0,bitmap)
gb.display.setColor( gb.color.YELLOW)
gb.display.drawBitmap(8,0,bitmap)
# in scale x2
gb.display.setColor( gb.color.RED)
gb.display.drawBitmap(16,0,bitmap,2)
gb.updateDisplay()
Voir l'API Gamebuino pour plus d'informations.
Image en couleurs d'index.
Ce sont des données de 2 points par 1 octet.
import gamebuino_meta as gb
image = bytes([
8, 8,
1, 0,
0,
0xFF,
1,
0x07, 0x07, 0x07, 0x07,
0x70, 0x70, 0x70, 0x70,
0x07, 0x07, 0x07, 0x07,
0x70, 0x70, 0x70, 0x70,
0x07, 0x07, 0x07, 0x07,
0x70, 0x70, 0x70, 0x70,
0x07, 0x07, 0x07, 0x07,
0x70, 0x70, 0x70, 0x70,
])
gb.display.clear()
gb.display.drawImage(0,0,image)
gb.updateDisplay()
Image RGB565
L'utilisation est légèrement différente de la description de l'API Gamebuino.
Pour RGB565, les données d'un point sont de 2 octets.
import gamebuino_meta as gb
image = bytes([
2, 2,
1, 0,
0,
0,
0,
0x12,0x34, 0x23,0x45,
0x34,0x56, 0x45,0x67,
])
gb.display.clear()
gb.display.drawImage(0,0,image)
gb.updateDisplay()
Eh bien, quelle était la taille de l'écran?
import gamebuino_meta as gb
w = gb.display.width()
h = gb.display.height()
print( "width : " , w , " / height : " , h )