Ekran#
giriiş#
Ekran yöntemleri, VEX AIR Drone Kontrol Cihazının ekranında metin, sayı, grafik ve görüntüleri nasıl göstereceğini ve ekran tuşlarına nasıl tep vereceğini kontrol eder.
Aşağıda mevcut yöntemlerin listesi bulunmaktadır:
İmleçle Yazdırma – Metni görüntüleyin ve yazdırma imlecini yönetin.
print– Geçerli imleç konumunda metin, sayı veya değişken değerleri yazdırır.set_cursor– İmleci belirli bir satır ve sütuna taşır.next_row– İmleci bir sonraki satırın 1. sütununa taşır.clear_row– Bir satır metni temizler.get_row– Metnin yazdırılacağı satırı döndürür.get_column– Metnin yazdırılacağı sütunu döndürür.
XY Yazdırma – Metni piksel tabanlı koordinatlarda yazdırır.
print_at– Belirli bir x ve y koordinatında metin, sayı veya değişken değerleri yazdırır.set_origin– Koordinat tabanlı yazdırma ve çizim için kullanılan başlangıç noktasını ayarlar.
Değiştiriciler – Ekran ayarlarını, renkleri ve çizim davranışını değiştirir.
clear_screen– Kontrol ekranındaki tüm çizimleri, metinleri ve resimleri temizler.wait_for_render– Ekran çizimini daha sonra render etme davranışına geçirir.set_font– Yazdırılan metin için yazı tipini ayarlar.set_pen_width– Çizilen çizgilerin ve şekil ana hatlarının kalınlığını ayarlar.set_pen_color– Metnin, piksellerin, çizgilerin ve şekil ana hatlarının rengini ayarlar.set_text_fill_color– Yazdırılan metnin arkasındaki dolgu rengini ayarlar.set_fill_color– Çizilen şekillerin dolgu rengini ayarlar.
Çizim – Ekrana grafikler ve resimler ekleyin.
draw_pixel– Belirli bir x ve y konumunda bir piksel çizer.draw_line– İki nokta arasında bir çizgi çizer.draw_rectangle– Geçerli kalem ve dolgu renklerini kullanarak bir dikdörtgen çizer.draw_circle– Geçerli kalem ve dolgu renklerini kullanarak bir daire çizer.show_file– Yüklenen bir resmi çizer.
Dokunmatik – Ekran dokunuşlarını algılar ve bunlara yanıt verir.
pressingbasıyor – Ekranın şu anda basılı olup olmadığını döndürür.x_position– Son ekran basımının x koordinatını döndürür.y_position– Son ekran basımının y koordinatını döndürür.
Geri Çağrı Fonksiyonları – Ekrana basıldığında veya ekran bırakıldığında çalıştırılan fonksiyonlar.
İmleç Yazdırma#
print#
print , mevcut imleç konumunda ve yazı tipinde denetleyici ekranına metin, sayı veya değişken değerleri yazdırır.
Usage:
controller.screen.print(text)
Parametreler |
Tanım |
|---|---|
|
Ekrana yazdırılacak metin, sayı veya değişken değeri. |
|
İsteğe bağlı. Yazdırılan metin arasındaki ayırıcı. Varsayılan olarak, |
|
İsteğe bağlı. Son yazdırılan metinden sonra eklenen dize. Varsayılan olarak, |
|
İsteğe bağlı. Bir ondalık sayının tam sayı olarak yazdırılacağı ondalık basamak sayısı. Varsayılan olarak, |
# Display a message at the starting cursor position.
controller.screen.print("Time to fly!")

# Display the first 2 decimals of pi
controller.screen.print(3.1415, precision = 2)

set_cursor#
set_cursor imleci kontrol ekranındaki belirli bir satır ve sütuna taşır. Sonraki print çağrısı, yazdırmaya o konumdan başlayacaktır. Satır ve sütun aralığı, seçilen yazı tipini dikkate alacaktır. Varsayılan tek aralıklı orta yazı tipiyle, ekran 18 satır ve 53 sütuna kadar net bir şekilde görüntüleyebilir. Bu aralığın ötesine yerleştirilen metin kesilebilir veya okunması zor olabilir.
Usage:
controller.screen.set_cursor(row, col)
Parametreler |
Tanım |
|---|---|
|
İmleci taşımak istediğiniz satır. |
|
İmleci taşımak istediğiniz sütun. |
# Display text starting at Row 7 Column 25.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print("Row 7, Column 25")

next_row#
next_row komutu, imleci kontrol ekranındaki bir sonraki satırın 1. sütununa taşır.
Usage:
controller.screen.next_row()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row komutu, kontrol ekranındaki bir satır metni temizler.
Usage:
controller.screen.clear_row(row, color)
Parametre |
Tanım |
|---|---|
|
İsteğe bağlı. Temizlenecek satır. Varsayılan değer, geçerli imleç satırıdır. |
|
Optional. The color to apply to the cleared row. If a color is not specified, the
|
# Clear only the second row of text
controller.screen.print("This text stays")
controller.screen.next_row()
controller.screen.print("This text disappears")
wait(3, SECONDS)
controller.screen.clear_row(2)
# Turn the 5th row green.
controller.screen.clear_row(5, GREEN)
get_row#
get_row , metnin yazdırılacağı geçerli satırı tamsayı olarak döndürür.
Usage:
controller.screen.get_row()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Display the cursor's current row.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_row())

get_column#
get_column fonksiyonu, metnin yazdırılacağı geçerli sütunu tamsayı olarak döndürür.
Usage:
controller.screen.get_column()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

XY Baskısı#
print_at#
print_at , geçerli font ve origin kullanarak, denetleyici ekranında belirli bir (x, y) piksel konumunda metin, sayı veya değişken değerleri yazdırır. x metnin sol taraftan ne kadar uzakta başlayacağını, y ise harflerin alt kısmının nerede duracağını belirler. Bu yöntem, geçerli imleç konumunu dikkate almaz.
Usage:
controller.screen.print_at(text, x, y)
Parametre |
Tanım |
|---|---|
|
Ekrana yazdırılacak metin, sayı veya değişken değeri. |
|
Metnin yatay konumu, 0 ile 640 piksel arasında bir tamsayı olarak belirtilir. 0 sol; 640 sağdır. |
|
Metnin dikey konumu, 0 ile 480 piksel arasında bir tamsayı olarak belirtilir. 0 üst, 480 alt konumdur. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin , kontrol ekranında çizim ve koordinat tabanlı yazdırma için kullanılan başlangıç noktasını (0, 0) ayarlar. Varsayılan olarak, başlangıç noktası ekranın sol üst köşesidir. Bu yöntem, başlangıç noktasını alternatif bir (x, y) ekran koordinat konumuna sıfırlayabilir.
Usage:
controller.screen.set_origin(x, y)
Parametre |
Tanım |
|---|---|
|
Başlangıç noktası olarak belirlenecek yeni x koordinatı, 0 ile 640 arasında bir tamsayı olarak verilmelidir. |
|
Başlangıç noktası olarak belirlenecek yeni y koordinatı, 0 ile 480 arasında bir tamsayı olarak verilmelidir. |
# Set the origin to the center of the screen.
controller.screen.set_origin(x=320, y=240)
# Draw a rectangle at the new origin.
controller.screen.draw_rectangle(x=0, y=0, width=80, height=40)

Mutatörler#
clear_screen#
clear_screen komutu, kontrol ekranındaki tüm çizimleri, metinleri ve resimleri temizler.
Usage:
controller.screen.clear_screen(row, col, color)
Parametre |
Tanım |
|---|---|
|
İsteğe bağlı. Ekran temizlendikten sonra imlecin taşınacağı satır. Varsayılan değer 1’dir. |
|
İsteğe bağlı. Ekran temizlendikten sonra imlecin taşınacağı sütun. Varsayılan değer 1’dir. |
|
İsteğe bağlı. Ekran rengini ayarlar.
|
# Draw a circle, and clear it after 2 seconds.
controller.screen.draw_circle(x=320, y=240, radius=80)
wait(2, SECONDS)
controller.screen.clear_screen()
# Print two messages in the same spot
controller.screen.print("Hello!")
wait(3,SECONDS)
controller.screen.clear_screen(row=1, col=1)
controller.screen.print("Goodbye!")
# Set the background color of the screen to red.
controller.screen.clear_screen(color=RED)
wait_for_render#
wait_for_render ekran çizimini daha sonra render etme davranışına geçirir. Bu yöntem çalıştırıldıktan sonra, sonraki wait_for_render yöntemi çalıştırılana kadar aşağıdaki ekran komutları kontrol ekranında görünmeyecektir.
Not: Bu özelliği metin, şekil veya resim grupları çizmeden önce kullanın, ardından tüm güncellemeyi tek seferde oluşturmak için tekrar kullanın.
Usage:
controller.screen.wait_for_render()
Parametre |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Display text and images when button 7 is pressed.
controller.screen.wait_for_render()
controller.screen.print("Screen rendered!")
controller.screen.draw_circle(x=320, y=240, radius=80)
while not controller.button7.pressing():
wait(5, MSEC)
controller.screen.wait_for_render()

set_font#
set_font , kontrol ekranında metin görüntülemek için kullanılan yazı tipini ayarlar. Bu yazı tipi, bu yöntem çalıştırıldıktan sonra yazdırılan tüm metinlere uygulanacaktır. Bir projenin başlangıcındaki varsayılan yazı tipi MONO20.
Usage:
controller.screen.set_font(fontname)
Parametre |
Tanım |
|---|---|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width , çizilen çizgilerin ve şekil ana hatlarının kalınlığını ayarlar.
Usage:
controller.screen.set_pen_width(width)
Parametre |
Tanım |
|---|---|
|
Kalem genişliği, piksel cinsinden tam sayı olarak verilir. |
# Draw a rectangle with a pen width of 10.
controller.screen.set_pen_width(10)
controller.screen.draw_rectangle(x=200, y=200, width=200, height=80)

set_pen_color#
set_pen_color , metnin, piksellerin, çizgilerin ve şekil ana hatlarının rengini ayarlar.
Usage:
controller.screen.set_pen_color(color)
Parametre |
Tanım |
|---|---|
|
İsteğe bağlı. Kalem ve yazı tipi rengini ayarlar. Seçenekler şunlardır:
|
# Draw a rectangle with an orange outline.
controller.screen.set_pen_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=240, height=150)
controller.screen.set_pen_color(WHITE)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

set_text_fill_color#
set_text_fill_color komutu, yazdırılan metnin arkasındaki dolgu rengini ayarlar. Varsayılan metin dolgu rengi şeffaftır.
Usage:
controller.screen.set_text_fill_color(color)
Parametre |
Tanım |
|---|---|
|
İsteğe bağlı. Metin dolgu rengini ayarlar. Seçenekler şunlardır:
|
# Display two colors behind text
controller.screen.set_text_fill_color(RED)
controller.screen.print("Red")
controller.screen.next_row()
controller.screen.set_text_fill_color(BLUE)
controller.screen.print("Blue")

set_fill_color#
set_fill_color , şekiller çizilirken kullanılan dolgu rengini ayarlar. Varsayılan dolgu rengi siyahtır.
Usage:
controller.screen.set_fill_color(color)
Parametre |
Tanım |
|---|---|
|
İsteğe bağlı. Dolgu rengini ayarlar. Seçenekler şunlardır:
|
# Draw an orange-filled rectangle with text on top
controller.screen.set_fill_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=250, height=150)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

Çizmek#
draw_pixel#
draw_pixel seçili x ve y koordinatında geçerli kalem rengi kullanılarak bir piksel çizer.
Usage:
controller.screen.draw_pixel(x, y)
Parametre |
Tanım |
|---|---|
|
Pikselin çizileceği x koordinatı, 0 ile 640 arasında bir tamsayı olarak verilir. |
|
Pikselin çizileceği y koordinatı, 0 ile 480 arasında bir tamsayı olarak verilir. |
# Draw five pixels in a diagonal.
controller.screen.draw_pixel(x=360, y=200)
controller.screen.draw_pixel(x=340, y=220)
controller.screen.draw_pixel(x=320, y=240)
controller.screen.draw_pixel(x=300, y=260)
controller.screen.draw_pixel(x=280, y=280)
![]()
draw_line#
draw_line , mevcut kalem genişliği ve kalem rengi kullanılarak ilk ekran koordinatı (x1, y1) ikinci ekran koordinatı (x2, y2) bir çizgi çizer.
x ve y koordinatları, set_origin kullanılarak farklı bir başlangıç noktası ayarlanmadığı sürece varsayılan başlangıç noktası olan (0, 0)’ı kullanır.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Parametre |
Tanım |
|---|---|
|
Doğrunun başlangıç x koordinatı, 0 ile 640 arasında bir tamsayı olarak verilir. |
|
Doğrunun başlangıç y koordinatı, 0 ile 480 arasında bir tamsayı olarak verilir. |
|
Doğrunun bitiş noktasındaki x koordinatı, 0 ile 640 arasında bir tamsayı olarak verilir. |
|
Doğrunun bitiş noktasındaki y koordinatı, 0 ile 480 arasında bir tamsayı olarak verilir. |
# Make an X across the screen.
controller.screen.draw_line(x1=0, y1=0, x2=640, y2=480)
controller.screen.set_pen_color(CYAN)
controller.screen.draw_line(x1=0, y1=480, x2=640, y2=0)

draw_rectangle#
draw_rectangle isteğe bağlı color parametresi kullanılmadığı sürece, geçerli kalem genişliği, kalem rengi ve dolgu rengi kullanılarak bir dikdörtgen çizer.
x ve y koordinatları, set_origin kullanılarak farklı bir başlangıç noktası ayarlanmadığı sürece varsayılan başlangıç noktası olan (0, 0)’ı kullanır.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Parametre |
Tanım |
|---|---|
|
Dikdörtgenin sol üst köşesinin x koordinatı, 0 ile 640 arasında bir tamsayı olarak verilir. |
|
Dikdörtgenin sol üst köşesinin y koordinatı, 0 ile 480 arasında bir tamsayı olarak verilir. |
|
Dikdörtgenin genişliği, 0 ile 640 arasında bir tamsayı olarak verilir. |
|
Dikdörtgenin yüksekliği, 0 ile 480 arasında bir tamsayı olarak verilir. |
|
İsteğe bağlı. Dikdörtgenin dolgu rengini ayarlar. Seçenekler şunlardır:
|
# Draw two rectangles on the screen.
controller.screen.draw_rectangle(x=0, y=0, width=620, height=460)
controller.screen.draw_rectangle(x=200, y=180, width=200, height=100, color=GREEN)

draw_circle#
draw_circle isteğe bağlı color parametresi kullanılmadığı sürece, geçerli kalem genişliği, kalem rengi ve dolgu rengi kullanılarak bir daire çizer.
x ve y koordinatları, set_origin kullanılarak farklı bir başlangıç noktası ayarlanmadığı sürece varsayılan başlangıç noktası olan (0, 0)’ı kullanır.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Parametre |
Tanım |
|---|---|
|
Çemberin merkezinin x koordinatı, 0 ile 640 arasında bir tamsayı olarak verilir. |
|
Çemberin merkezinin y koordinatı, 0 ile 480 arasında bir tamsayı olarak verilir. |
|
Dairenin yarıçapı, 0 ile 480 piksel arasında bir tamsayı olarak verilir. |
|
İsteğe bağlı. Dairenin dolgu rengini ayarlar. Seçenekler şunlardır:
|
# Draw one green circle on the screen.
controller.screen.set_fill_color(GREEN)
controller.screen.draw_circle(x=320, y=240, radius=200, color=GREEN)

show_file#
show_file komutu, önceden yüklenmiş özel bir görüntüyü, isteğe bağlı ölçeklendirme, döndürme ve alfa şeffaflığı seçenekleriyle, kontrol ekranında x ve y konumunda çizer.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parametre |
Tanım |
|---|---|
|
Kullanılacak görsel, kullanıcı tarafından yüklenen görseldir. Kontrol Panelinde görsel adları düzenlenirse seçenekler değişecektir. |
|
Görüntünün yatay kaydırma değeri, piksel cinsinden bir tamsayı olarak verilir. Pozitif değerler görüntüyü sağa, negatif değerler sola kaydırır. |
|
Görüntünün dikey kayması, piksel cinsinden bir tamsayı olarak verilir. Pozitif değerler görüntüyü aşağıya, negatif değerler yukarıya doğru hareket ettirir. |
|
İsteğe bağlı. Ölçeklendirilecek görüntünün genişliği, piksel cinsinden bir tamsayı olarak verilir. |
|
İsteğe bağlı. Ölçeklendirilecek görüntünün yüksekliği, piksel cinsinden bir tamsayı olarak verilir. |
|
İsteğe bağlı. Görüntüyü döndürme derecesi, 0 ile 359 arasında bir tamsayı olarak verilir. |
|
İsteğe bağlı. Şeffaflık için görüntünün alfa kanalının kullanılıp kullanılmayacağı. Seçenekler şunlardır: |
# Display uploaded Image 1 in the top left corner.
controller.screen.show_file(IMAGE1, x=0, y=0)
# Display uploaded Image 1 scaled to the full screen.
controller.screen.show_file(IMAGE1, x=65, y=0, scale_width=640, scale_height=480)
# Display uploaded Image 1 with rotation of 180 degrees.
controller.screen.show_file(IMAGE1, x=-65, y=0, rotation=180)
# Upload an image with a transparent background.
# Display uploaded Image 1 with alpha channel enabled.
controller.screen.show_file(IMAGE1, x=0, y=0, use_alpha=True)
Dokunmak#
pressing#
pressing robotun ekranına şu anda basılıp basılmadığını gösteren bir Boolean değeri döndürür.
True– Ekrana basılıyor.False– Ekran basılmıyor.
Usage:
controller.screen.pressing()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Play a sound when the screen is pressed.
while True:
if controller.screen.pressing():
controller.sound.play_note("C5", 500)
wait(5, MSEC)
# Display different messages after the screen is pressed
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("First message!")
controller.screen.next_row()
# Lift finger to press the screen again
while controller.screen.pressing():
wait(5, MSEC)
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("Second message!")
controller.screen.next_row()
x_position#
x_position ekrana en son basılan noktanın piksel cinsinden x koordinatını 0 (sol) ile 640 (sağ) arasında bir tamsayı olarak döndürür.

Usage:
controller.screen.x_position()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.x_position() > 320:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
y_position#
y_position fonksiyonu, ekrana en son basılan yerin piksel cinsinden y koordinatını 0 (üst) ile 480 (alt) arasında bir tamsayı olarak döndürür.

Usage:
controller.screen.y_position()
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.y_position() > 240:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
Geri aramalar#
pressed#
pressed tuşuna basılması, kontrol ekranına basıldığında çağrılacak bir fonksiyonu kaydeder.
Usage:
controller.screen.pressed(callback, arg)
Parametreler |
Tanım |
|---|---|
|
Kontrol ekranına basıldığında yürütülecek şekilde önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonları Kullanma bölümüne bakın. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released kontrol ekranı bırakıldığında çağrılacak bir fonksiyonu kaydeder.
Usage:
controller.screen.released(callback, arg)
Parametreler |
Tanım |
|---|---|
|
Kontrol ekranı bırakıldığında yürütülecek şekilde önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonları Kullanma bölümüne bakın. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













