Ekran#
giriiş#
screen sınıfı, brain temel sınıfından türetilmiştir. V5 Beyninin dokunmatik ekranında metin, sayı ve grafikleri nasıl gösterdiğini ve dokunmatik girişe nasıl yanıt verdiğini kontrol eder.
Varsayılan olarak, Brain’e yazdırmak için kullanılan yazı tipi 12 satır ve 48 sütundan oluşan tek aralıklı küçük yazı tipidir.
Çizim için, Brain’in çözünürlüğü 480 x 240 pikseldir.

Erişim#
screen sınıfına şu yollarla erişilebilir:
Brain.Screen
Notlar#
The
screenobject is provided by the Brain. It is not constructed directly.Projeler tek bir global
Brainnesnesi kullanır, bu nedenle ekran fonksiyonlarıBrain.Screenkullanılarak çağrılır.
Örnek#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the V5 Brain
brain Brain = brain();
// Print text to the Brain screen
Brain.Screen.print("Hello!");
Üye Fonksiyonları#
screen sınıfı aşağıdaki üye fonksiyonlarını içerir:
print— Biçimlendirilmiş metni, sayıları veya Boolean değerlerini Beyin ekranına yazdırır.setCursor— Metin imlecini belirtilen satır ve sütuna taşır.newLine— Geçerli satırın kalanını temizler ve imleci bir sonraki satıra taşır.clearLine— Geçerli satırın kalan kısmını temizler veya belirtilen satırı temizler.row— Metnin yazdırılacağı satırı döndürür.column— Metnin yazdırılacağı sütunu döndürür.getStringHeight— Geçerli yazı tipini kullanarak bir dizenin piksel cinsinden yüksekliğini döndürür.getStringWidth— Geçerli yazı tipini kullanarak bir dizenin piksel cinsinden genişliğini döndürür.printAt— Biçimlendirilmiş metni x, y piksel konumunda yazdırır.clearScreen— Beyin ekranındaki tüm çizimleri ve metinleri temizler.setFont— Ekranda yazdırmak için kullanılan yazı tipini ayarlar.setPenWidth— Çizilen çizgilerin ve şekil ana hatlarının kalınlığını ayarlar.setPenColor— Metnin, piksellerin, çizgilerin ve şekil ana hatlarının rengini ayarlar.setFillColor— Çizilen şekillerin ve yazdırılan metin arka planlarının dolgu rengini ayarlar.setOrigin— Ekran koordinatları için kullanılan başlangıç noktasını ayarlar.setClipRegion— Ekran çıktısını dikdörtgen bir bölgeyle sınırlandırır.drawPixel— Bir koordinatta bir piksel çizer.drawLine— İki nokta arasında bir çizgi çizer.drawRectangle— Belirtilen boyutta bir dikdörtgeni x, y konumunda çizer.drawCircle— Belirtilen yarıçapla bir x, y konumunda bir daire çizer.drawImageFromFile— SD kart dosyasından ekrana bir görüntü çizer.render— Çift tamponlamayı etkinleştirir veya arka tamponu ekrana işler.pressingbasıyor — Ekranın şu anda basılı olup olmadığını döndürür.xPosition— En son ekran basımının x koordinatını döndürür.yPosition— En son ekran basımının y koordinatını döndürür.pressed— Ekrana basıldığında çalıştırılacak bir geri çağırma fonksiyonu kaydeder.released— Ekran basıldıktan sonra bırakıldığında çalıştırılacak bir geri çağırma fonksiyonu kaydeder.
Herhangi bir screen üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir brain örneği oluşturulmalıdır:
// Create the V5 Brain
brain Brain = brain();
print#
V5 Brain ekranında metin, sayı veya Boolean değerleri görüntüler.
Available Functions1 — Dize değişmezleri veya salt okunur C tarzı dizeler kullanarak biçimlendirilmiş metin yazdırır.
void print( const char* format, ... );
Parameters2 — Değiştirilebilir karakter dizileri kullanarak biçimlendirilmiş metin yazdırır.
void print( char* format, ... );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Bir dize değişmezi veya salt okunur C stili dize olarak sağlanan bir biçim dizesi (örneğin, |
|
|
Değiştirilebilir bir karakter dizisi olarak sağlanan bir biçim dizesi. |
|
Biçim dizesine virgülle ayrılmış olarak eklenen bir veya daha fazla ek değer. |
Bu fonksiyon bir değer döndürmez.
NotesOutput begins at the current cursor position on the screen.
Yazdırılan metin, ekran yazı kullanır.
Printed text uses the current pen color.
printile yazdırılan metin her zaman bir arka planla yazdırılır ve arka plan rengi, geçerli dolgu rengi tarafından belirlenir.Biçim dizesi kullanılırken, geçirilen değerlerin sayısı ve türleri, dizedeki biçim belirleyicilerle eşleşmelidir.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
İmleci V5 Beyin ekranındaki belirli bir satır ve sütuna taşır. Sonraki print çağrısı, yazdırmaya o konumdan başlayacaktır.
void setCursor(
int32_t row,
int32_t col );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
İmleci taşımak istediğiniz satır. |
|
|
İmleci taşımak istediğiniz sütun. |
Bu fonksiyon bir değer döndürmez.
Notesprintkullanılırken sonraki metin çıktısının nerede başlayacağını etkiler.Satırlar ve sütunlar şu anda ayarlanmış ekran yazı tipine göre belirlenir.
Varsayılan yazı tipi (
mono20) 12 satır ve 48 sütun kullanır.setCursorçağrısı yalnızca sonraki metin çıktısının konumunu etkiler.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
İmleci Beyin ekranındaki bir sonraki satırın başına taşır.
Available Functionsvoid newLine();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesBu fonksiyon bir değer döndürmez.
Notesİmleç bir cümlenin ortasındaysa,
newLinekomutu imleçten sonraki satırın geri kalanını temizleyip sonraki satıra geçecektir.newLineçağrısından sonra imleç, bir sonraki satırın ilk sütununa konumlandırılır.İmleç konumu ve satır numaralandırması
setCursorkullanılarak ayarlanır.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
V5 Brain ekranındaki bir satırdaki metni siler.
Available Functions1 — İmleç konumundan itibaren geçerli satırın geri kalanını temizler.
void clearLine();
2 — Belirtilen satırı, şu anda yapılandırılmış dolgu rengi kullanarak temizler.
void clearLine( int number );
3 — Belirtilen satırı önceden tanımlanmış veya özel renk nesnesi kullanarak temizler.
void clearLine( int number, const color& color );
4 — Belirtilen satırı onaltılık renk değeri kullanarak temizler.
void clearLine( int number, const char* color );
Parameters5 — Belirtilen satırı bir renk tonu değeri kullanarak temizler.
void clearLine( int number, int hue );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Silinecek satır numarası. Satır numaralandırması |
|
|
|
|
|
Onaltılık renk değeri kullanarak satırı temizler (örneğin, |
|
|
Renk çemberi üzerindeki dereceleri temsil eden |
Bu fonksiyon bir değer döndürmez.
NotesBir satırı temizlemek, mevcut imleç konumunu değiştirmez.
İmleç konumu ve satır numaralandırması
setCursorkullanılarak ayarlanır.hueparametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");
// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);
row#
V5 Brain ekranında metnin yazdırılacağı satırı döndürür.
Available Functionsint32_t row();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesMetnin yazdırılacağı satırı temsil eden int32_t değerini döndürür.
Satır numaralandırması 1’den başlar.
NotesThe cursor position is based on the current screen font.
Döndürülen değer, bir sonraki yazdırılacak çıktının nerede görüneceğini gösterir.
Metin yazdırıldığında veya
setCursorçağrıldığında satır değeri değişir.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
V5 Brain ekranında metnin yazdırılacağı sütunu döndürür.
Available Functionsint32_t column();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesMetnin yazdırılacağı sütunu temsil eden int32_t değerini döndürür.
Sütun numaralandırması 1’den başlar.
NotesThe cursor position is based on the current screen font.
Döndürülen değer, bir sonraki yazdırılacak çıktının nerede görüneceğini gösterir.
Sütun değeri, metin yazdırıldığında veya
setCursorçağrıldığında değişir.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
V5 Brain ekranında görüntülendiğinde bir metin dizisinin yüksekliğini piksel cinsinden döndürür.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Ölçülecek metin, C stili bir dize olarak sağlanır (örneğin, |
Beyin ekranında görüntülendiğinde dizenin piksel cinsinden yüksekliğini temsil eden int32_t değerini döndürür.
getStringWidth#
V5 Brain ekranında görüntülendiğinde bir dizenin piksel cinsinden genişliğini döndürür.
Available Functionsint32_t getStringWidth(
const char* cstr );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Ölçülecek metin, C stili bir dize olarak sağlanır (örneğin, |
Beyin ekranında görüntülendiğinde dizenin piksel cinsinden genişliğini temsil eden int32_t değerini döndürür.
The returned width depends on the currently selected screen font.
Bu fonksiyon, dizeyi ekrana çizmeden ölçer.
Döndürülen genişlik, metnin yazdırıldığında nasıl görüneceğini yansıtır.
printAt#
V5 Brain ekranında belirli bir koordinatta metin, sayı veya Boolean değerleri yazdırır.
Available Functions1 — Belirtilen piksel konumunda biçimlendirilmiş çıktı yazdırır.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — Belirtilen piksel konumunda biçimlendirilmiş çıktı yazdırır ve metin arka planının opak mı yoksa saydam mı olacağını ayarlar.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Ekranın başlangıç noktasına göre, yazdırma işleminin gerçekleştirileceği x konumu. |
|
|
Ekranın başlangıç noktasına göre, yazdırma işleminin yapılacağı y-konumu. |
|
|
Yazdırılan metnin opak mı yoksa saydam mı çizileceğini kontrol eder:
|
|
|
Ekranda neyin yazdırılacağını kontrol eden bir format dizesi (örneğin, |
|
Biçim dizesine virgülle ayrılmış olarak eklenen bir veya daha fazla ek değer. |
Bu fonksiyon bir değer döndürmez.
Notesxveykoordinatları,setOriginkullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.Yazdırılan metin, ekran yazı kullanır.
Printed text uses the current pen color.
Biçim dizesi kullanılırken, geçirilen değerlerin sayısı ve türleri, dizedeki biçim belirleyicilerle eşleşmelidir.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Beyin ekranındaki tüm çizimleri ve metinleri siler ve imleç konumunu 1. satır, 1. sütuna sıfırlar.
Available Functions1 — Ekranı siyaha çevirir.
void clearScreen();
2 — Önceden tanımlanmış veya özel renk nesnesi kullanarak ekranı temizler.
void clearScreen( const color& color );
3 — Ekranı onaltılık renk değeri kullanarak temizler.
void clearScreen( const char* color );
Parameters4 — Ekranı bir renk tonu değeri kullanarak temizler.
void clearScreen( int hue );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Ekranı
|
|
|
Ekranı, bir dize olarak temsil edilen onaltılık renk değeri kullanarak temizler (örneğin, |
|
|
Ekranı, renk çemberi üzerindeki dereceleri temsil eden |
Bu fonksiyon bir değer döndürmez.
Noteshueparametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();
// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(blue);

setFont#
V5 Brain ekranında görüntülenen metin için kullanılan yazı tipini ayarlar.
Bu, print gibi ekran metni işlevlerini kullanırken sonraki metin çıktısına uygulanan yazı tipini kontrol eder.
void setFont(
fontType font );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Yazı tipini aşağıdakilerden birine ayarlar:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Bu fonksiyon bir değer döndürmez.
Examples// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

// Print in Chinese
Brain.Screen.setFont(fontType::cjk16);
Brain.Screen.print("VEX机器人");

setPenWidth#
Çizilen çizgilerin ve şekil konturlarının kalınlığını ayarlar.
Available Functionsvoid setPenWidth(
uint32_t width );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Kalem genişliği, piksel cinsinden, 0 ile 32 arasında. |
Bu fonksiyon bir değer döndürmez.
NotesKalem genişliği,
drawLine,drawRectanglevedrawCirclegibi çizim fonksiyonlarına uygulanır.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Metnin, piksellerin, çizgilerin ve şekil konturlarının rengini ayarlar.
Available Functions1 — Kalem rengini önceden tanımlanmış veya özel renk nesnesi kullanarak ayarlar.
void setPenColor( const color& color );
2 — Kalem rengini onaltılık renk değeri kullanarak ayarlar.
void setPenColor( const char* color );
Parameters3 — Kalem rengini bir ton değeri kullanarak ayarlar.
void setPenColor( int hue );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Kalem rengini
|
|
|
Kalem rengini, bir dize olarak temsil edilen onaltılık renk değeri kullanarak ayarlar (örneğin, |
|
|
Kalem rengini, renk çemberindeki dereceleri temsil eden |
Bu fonksiyon bir değer döndürmez.
NotesProje başlangıcında varsayılan kalem rengi
white.Kalem rengi, şekillerin ana hatları (örneğin
drawCircleveyadrawRectangleile), metin ve sayısal çıktı (printveprintAtile) vedrawPixelile çizilen tek tek pikseller için kullanılır.hueparametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setFillColor#
Şekiller çizilirken kullanılacak dolgu rengini ayarlar.
Available Functions1 — Önceden tanımlanmış veya özel renk nesnesi kullanarak dolgu rengini ayarlar.
void setFillColor( const color& color );
2 — Dolgu rengini onaltılık renk değeri kullanarak ayarlar.
void setFillColor( const char* color );
Parameters3 — Bir ton değeri kullanarak dolgu rengini ayarlar.
void setFillColor( int hue );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
|
|
|
Dolgu rengini, bir dize olarak temsil edilen onaltılık renk değeri kullanarak ayarlar (örneğin, |
|
|
Dolgu rengini, renk çemberi üzerindeki dereceleri temsil eden |
Bu fonksiyon bir değer döndürmez.
NotesProje başlangıcında varsayılan dolgu rengi
black.Dolgu rengi, şekillerin iç kısımları için kullanılır (örneğin
drawCircleveyadrawRectangleile).Dolgu rengi, yazdırılan metin için arka plan rengi olarak kullanılır (örneğin
printveprintAtile).Baskılı metinle birlikte
transparentkullanılırsa, arka planblackolacaktır.
hueparametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

// Draw a rectangle filled with purple
Brain.Screen.setFillColor(purple);
Brain.Screen.drawRectangle(50, 100, 130, 60);

setOrigin#
Brain ekranında çizim ve koordinat tabanlı yazdırma için kullanılan başlangıç noktasını ayarlar.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Başlangıç noktasının, Beyin ekranının sol üst köşesine göre x eksenindeki konumu 0 ile 479 arasındadır. |
|
|
Başlangıç noktasının, Beyin ekranının sol üst köşesine göre y eksenindeki konumu 0 ile 239 arasındadır. |
Bu fonksiyon bir değer döndürmez.
NotesVarsayılan başlangıç noktası, ekranın sol üst köşesindeki (0, 0) koordinatıdır.
Başlangıç noktası,
drawLine,drawRectangle,drawCircleveprintAtgibi koordinat fonksiyonlarına uygulanır.Başlangıç değeri, tekrar değiştirilene veya proje sıfırlanana kadar geçerliliğini korur.
setClipRegion#
Ekranda tüm çizimlerin ve metinlerin sınırlandırılacağı dikdörtgen bir alan tanımlar. Bu alanın dışındaki herhangi bir içerik görüntülenmeyecektir.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Kırpma bölgesinin sol üst köşesinin x koordinatı, 0 ile 479 arasında bir tamsayı olarak verilir. |
|
|
Kırpma bölgesinin sol üst köşesinin y koordinatı, 0 ile 239 arasında bir tamsayı olarak verilir. |
|
|
Kırpma bölgesinin piksel cinsinden genişliği, 0 ile 479 arasında bir tamsayı olarak verilir. |
|
|
Kırpma bölgesinin piksel cinsinden yüksekliği, 0 ile 239 arasında bir tamsayı olarak verilir. |
Bu fonksiyon bir değer döndürmez.
NotesÇizim işlevleri, kırpma bölgesinin dışında kalsalar bile yine de yürütülür, ancak yalnızca bölgenin içindeki kısım görünür.
xveykoordinatları,setOriginkullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.Kırpma bölgesi yalnızca geçerli iş parçacığı için geçerlidir.
Yeni bir kırpma bölgesi ayarlamak, geçerli iş parçacığı için önceden ayarlanmış olan tüm kırpma bölgelerinin yerini alır.
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

drawPixel#
Seçilen x ve y piksel konumunda V5 Brain ekranında bir piksel çizer.
Available Functionsvoid drawPixel(
int x,
int y );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Pikselin çizileceği x koordinatı, 0 ile 479 arasında bir tamsayı olarak verilir. |
|
|
Pikselin çizileceği y koordinatı, 0 ile 239 arasında bir tamsayı olarak verilir. |
Bu fonksiyon bir değer döndürmez.
NotesPikseller,
setPenColorile ayarlanan geçerli kalem rengi kullanılarak çizilir.xveykoordinatları,setOriginkullanılarak ayarlanabilen geçerli ekran orijinine göre belirlenir.Belirtilen piksel konumu ekran sınırlarının dışında ise, piksel çizilmez.
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(250, 100);
Brain.Screen.drawPixel(275, 100);
Brain.Screen.drawPixel(250, 125);
Brain.Screen.drawPixel(275, 125);
![]()
drawLine#
V5 Brain ekranında iki noktayı birleştiren düz bir çizgi çizer.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Doğrunun başlangıç x koordinatı, 0 ile 479 arasında bir tamsayı olarak verilir. |
|
|
Doğrunun başlangıç y koordinatı, 0 ile 239 arasında bir tamsayı olarak verilir. |
|
|
Doğrunun bitiş noktasındaki x koordinatı, 0 ile 479 arasında bir tamsayı olarak verilir. |
|
|
Doğrunun bitiş noktasındaki y koordinatı, 0 ile 239 arasında bir tamsayı olarak verilir. |
Bu fonksiyon bir değer döndürmez.
NotesÇizgiler,
setPenColorile ayarlanan geçerli kalem rengi kullanılarak çizilir.Çizginin genişliği,
setPenWidthile ayarlanan mevcut kalem genişliği tarafından belirlenir.xveykoordinatları,setOriginkullanılarak ayarlanabilen geçerli ekran orijinine göre belirlenir.Çizginin herhangi bir kısmı ekran sınırlarının dışında kalırsa, yalnızca görünür kısım çizilir.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
V5 Brain ekranında belirtilen konum ve boyutta bir dikdörtgen çizer.
Available Functions1 — Şu anda yapılandırılmış dolgu rengi kullanılarak bir dikdörtgen çizer ve doldurur.
void drawRectangle( int x, int y, int width, int height );
2 — Önceden tanımlanmış veya özel renk nesnesi kullanarak bir dikdörtgen çizer ve doldurur.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Onaltılık renk değeri kullanarak bir dikdörtgen çizer ve doldurur.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Bir renk tonu değeri kullanarak bir dikdörtgen çizer ve doldurur.
void drawRectangle( int x, int y, int width, int height, int hue );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Dikdörtgenin sol üst köşesinin x koordinatı, 0 ile 479 arasında bir tamsayı olarak verilmiştir. |
|
|
Dikdörtgenin sol üst köşesinin y koordinatı, 0 ile 239 arasında bir tamsayı olarak verilmiştir. |
|
|
Dikdörtgenin genişliği, 0 ile 479 arasında bir tamsayı olarak verilmiştir. |
|
|
Dikdörtgenin yüksekliği, 0 ile 239 arasında bir tamsayı olarak verilmiştir. |
|
|
Dikdörtgeni
|
|
|
Dikdörtgeni onaltılık renk değeri kullanarak doldurur (örneğin, |
|
|
Dikdörtgeni |
Bu fonksiyon bir değer döndürmez.
NotesDikdörtgenin dış çizgisi,
setPenColorile ayarlanan geçerli kalem rengi kullanılarak çizilir.Kontur kalınlığı,
setPenWidthile ayarlanan mevcut kalem genişliği tarafından belirlenir.colorparametresi sağlanmadığında, dikdörtgenin içisetFillColorile ayarlanan geçerli dolgu rengi kullanılarak doldurulur.xveykoordinatları,setOriginkullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.Dikdörtgenin herhangi bir kısmı ekran sınırlarının dışında kalırsa, yalnızca görünür kısım çizilir.
hueparametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

// Draw a rectangle on the screen
Brain.Screen.drawRectangle(50, 50, 130, 60);

drawCircle#
V5 Brain ekranında belirtilen konumda ve yarıçapta bir daire çizer.
Available Functions1 — Şu anda yapılandırılmış dolgu rengi kullanılarak bir daire çizer ve doldurur.
void drawCircle( int x, int y, int radius );
2 — Önceden tanımlanmış veya özel renk nesnesini kullanarak bir daire çizer ve doldurur.
void drawCircle( int x, int y, int radius, const color& color );
3 — Onaltılık renk değeri kullanarak bir daire çizer ve doldurur.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Bir renk tonu değeri kullanarak bir daire çizer ve doldurur.
void drawCircle( int x, int y, int radius, int hue );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Çemberin merkezinin x koordinatı, 0 ile 479 arasında bir tamsayı olarak verilir. |
|
|
Çemberin merkezinin y koordinatı, 0 ile 239 arasında bir tamsayı olarak verilmiştir. |
|
|
Dairenin yarıçapı, 0 ile 239 piksel arasında bir tamsayı olarak verilir. |
|
|
Daireyi
|
|
|
Daireyi onaltılık renk değeri kullanarak doldurur (örneğin, |
|
|
Daireyi |
Bu fonksiyon bir değer döndürmez.
NotesDairenin dış çizgisi,
setPenColorile belirlenen mevcut kalem rengi kullanılarak çizilir.Kontur kalınlığı,
setPenWidthile ayarlanan mevcut kalem genişliği tarafından belirlenir.colorparametresi sağlanmadığında, dairenin içisetFillColorile ayarlanan geçerli dolgu rengi kullanılarak doldurulur.xveykoordinatları,setOriginkullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.hueparametre değeri, aşağıda gösterildiği gibi dairesel bir renk çemberine dayanmaktadır; burada değerler çember üzerindeki dereceleri temsil eder (örneğin, 0°’ye yakın kırmızı, 120°’ye yakın yeşil ve 240°’ye yakın mavi).

// Draw a circle on the screen
Brain.Screen.drawCircle(240, 120, 40);

drawImageFromFile#
SD kartta saklanan bir resim dosyasını kullanarak V5 Beyin ekranına bir resim çizer.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
SD karttaki resmin dosya adı. Dosyanın uzantısı |
|
|
Görüntünün sol kenarının çizileceği x koordinatı (0 ile 479 piksel arası). |
|
|
Görüntünün üst kenarının çizileceği y koordinatı (0 ile 239 piksel arası). |
Görüntünün başarıyla çizilip çizilmediğini gösteren bir Boolean değer döndürür:
true— Görüntü başarıyla yüklendi ve ekrana çizildi.false— Görüntü çizilemedi (örneğin, dosya mevcut değilse veya geçersizse).
Desteklenen resim formatları
.bmpve.png.Görüntü dosyasının boyutu
512 KBDosya boyutunu en aza indirmek için 8 bit RLE kodlaması önerilir.
Desteklenen maksimum görüntü boyutları, Brain ekranının boyutuyla aynıdır (yaklaşık 479 x 239 piksel).
xveykoordinatları,setOriginkullanılarak değiştirilebilen mevcut ekran orijinine göre belirlenir.
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
Beyin ekranı için çift tamponlamayı etkinleştirir. Çağrıldıktan sonra, herhangi bir çizim işlevi (metin, şekiller veya resimler gibi) projenin geri kalanında hemen görünmeyecektir. Bunun yerine, güncellemeler yalnızca render tekrar kullanıldığında gösterilecektir. Bu, daha akıcı ve kontrollü ekran güncellemeleri sağlar, ancak render kullanılana kadar hiçbir şey görünmeyeceği anlamına gelir.
1 — Çift tamponlamayı etkinleştirir veya arka tamponu ekrana yansıtır.
bool render();
Parameters2 — Arka tamponu, dikey senkronizasyon davranışı üzerinde kontrol ve isteğe bağlı zamanlayıcı yürütme ile ekrana yansıtır.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
|
|
|
İsteğe bağlı.
|
Arabellekte kaydedilen çizimlerin ekrana başarıyla yansıtılıp yansıtılmadığını gösteren bir Boolean değer döndürür:
true— Çizimler ekrana başarıyla yansıtıldı.false— Çizimler ekrana yansıtılamadı.
Notes
renderçağırmak, projenin geri kalanı içinrenderkullanılmasını gerektirecektir.
Brain.Screen.render();
// Draw text to the back buffer
Brain.Screen.print("Render later...");
// Wait for a screen press to render drawings
while (!Brain.Screen.pressing()) {
wait(20, msec);
}
Brain.Screen.render();
pressing#
V5 Beyin ekranının şu anda basılmakta olup olmadığına dair raporlar.
Available Functionsbool pressing();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesEkranın şu an basılı olma durumunu gösteren bir Boolean değer döndürür:true — Ekran şu anda basılı durumda. veya false — Ekran basılı değil.
// Change the screen's color after it's pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.setFillColor(green);
Brain.Screen.drawRectangle(0, 0, 479, 239);
// Display different messages after the screen is pressed
while (!Brain.Screen.pressing()) {
wait(5, msec);
}
Brain.Screen.print("First message!");
Brain.Screen.newLine();
// Lift finger to press the screen again
while (Brain.Screen.pressing()) {
wait(5, msec);
}
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.print("Second message!");
Brain.Screen.newLine();
xPosition#
V5 Brain ekranındaki son basışın x koordinatını döndürür.
Available Functionsint32_t xPosition();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesSon ekran dokunuşunun x koordinatını (0 ile 479 piksel arasında) temsil eden int32_t değerini döndürür.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
yPosition#
V5 Brain ekranındaki son basışın y koordinatını döndürür.
Available Functionsint32_t yPosition();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesSon ekran dokunuşunun y koordinatını (0 ile 239 piksel arasında) temsil eden bir int32_t değeri döndürür.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
pressed#
V5 Brain ekranına basıldığında çağrılacak bir fonksiyonu kaydeder.
Available Functions1 — Ekrana basıldığında bir fonksiyonu çağırır.
void pressed( void (*callback)(void) );
Parameters2 — Ekrana basıldığında bir fonksiyonu çağırır ve kullanıcı tanımlı bir argümanı geri çağrı fonksiyonuna iletir.
void pressed( void (*callback)(void*), void* arg );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Ekrana basıldığında çağrılan bir fonksiyon. |
|
|
Ekrana basıldığında çağrılan ve kullanıcı tanımlı bir argüman alan bir fonksiyon. |
|
|
Ekrana basıldığında geri çağırma fonksiyonuna iletilen, kullanıcı tanımlı bir değer. |
Bu fonksiyon bir değer döndürmez.
NotesGeri çağırma fonksiyonu, Beyin ekranına her basıldığında yürütülür.
Aynı anda yalnızca bir geri çağırma fonksiyonu kaydedilebilir;
pressedtuşuna basılması, önceki geri çağırma fonksiyonunun yerini alır.Geri çağrı fonksiyonu
voiddeğerini döndürmelidir.
Geri çağırma fonksiyonunu tanımlayın (
int main()dışında)// Tracks how many times the screen is pressed. void onScreenPressed(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Pressed %d times", *count); }Geri çağrıyı main() fonksiyonunun içine kaydedin
int main()int main() { int pressCount = 0; // Register the callback and pass a value to update. Brain.Screen.pressed(onScreenPressed, &pressCount); while (true) { wait(20, msec); } }
released#
V5 Brain ekranına basıldıktan sonra ekran bırakıldığında çağrılacak bir fonksiyonu kaydeder.
Available Functions1 — Ekrana basıldıktan sonra bırakıldığında bir fonksiyonu çağırır.
void released( void (*callback)(void) );
Parameters2 — Ekrana basıldıktan sonra bırakıldığında bir fonksiyonu çağırır ve kullanıcı tanımlı bir argümanı geri çağrı fonksiyonuna iletir.
void released( void (*callback)(void*), void* arg );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Ekrana basıldıktan sonra bırakıldığında çağrılan bir fonksiyon. |
|
|
Ekrana basıldıktan sonra bırakıldığında çağrılan ve kullanıcı tanımlı bir argüman alan bir fonksiyon. |
|
|
Ekrana basıldıktan sonra bırakıldığında geri çağırma fonksiyonuna iletilen, kullanıcı tanımlı bir değer. |
Bu fonksiyon bir değer döndürmez.
NotesGeri çağırma fonksiyonu, Brain ekranına basıldıktan sonra ekran bırakıldığı her seferinde yürütülür.
Aynı anda yalnızca bir geri çağırma fonksiyonu kaydedilebilir;
releasedtekrar çağırmak önceki geri çağırma fonksiyonunun yerini alır.Geri çağrı fonksiyonu
voiddeğerini döndürmelidir.
Geri çağırma fonksiyonunu tanımlayın (
int main()dışında)// Tracks how many times the screen is released. void onScreenReleased(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Released %d times", *count); }Geri çağrıyı main() fonksiyonunun içine kaydedin
int main()int main() { int releaseCount = 0; // Register the callback and pass a value to update. Brain.Screen.released(onScreenReleased, &releaseCount); while (true) { wait(20, msec); } }










