شاشة#

مقدمة#

تتحكم طرق الشاشة في كيفية عرض V5 Brain للنصوص والأرقام والرسومات على شاشته التي تعمل باللمس، وكيفية استجابته لإدخال اللمس.

بشكل افتراضي، يكون الخط المستخدم للطباعة على جهاز Brain هو خط صغير أحادي المسافة والذي يحتوي على 12 صفًا و 48 عمودًا.

أما بالنسبة للرسم، فإن دقة الدماغ تبلغ 480 × 240 بكسل.

شاشة V5 Brain بخطوط شبكية حمراء توضح تخطيط 12 صفًا و48 عمودًا إجمالًا. أبعادها بالبكسل 479 عرضًا و239 ارتفاعًا. تبدأ الزاوية العلوية اليسرى عند (0,0) بكسل والصف 1 والعمود 1، بينما تنتهي الزاوية السفلية اليمنى عند (479, 239) بكسل والصف 12 والعمود 48.

فيما يلي قائمة بجميع الطرق:

طباعة المؤشر — ضع النص واطبعه.

  • print — يطبع النص أو الأرقام أو قيم المتغيرات في موضع المؤشر الحالي.

  • set_cursor — ينقل المؤشر إلى صف وعمود محددين.

  • next_row — ينقل المؤشر إلى العمود 1 من الصف التالي.

  • clear_row — يمسح صفًا من النص.

  • row — تُرجع الصف الذي سيتم فيه طباعة النص.

  • column — تُرجع العمود الذي سيتم طباعة النص فيه.

  • print_at — يطبع النص أو الأرقام أو قيم المتغيرات عند إحداثيات x و y محددة.

  • get_string_width — تُرجع عرض السلسلة بالبكسل باستخدام الخط الحالي.

  • get_string_height — تُرجع ارتفاع السلسلة بالبكسل باستخدام الخط الحالي.

  • clear_line — يمسح سطرًا من النص.

  • new_line — ينقل المؤشر إلى سطر جديد.

المُعدِّلات — تغيير إعدادات الشاشة والألوان وسلوك الرسم.

  • clear_screen — يمسح الشاشة من جميع الرسومات والنصوص.

  • set_font — يحدد الخط للنص المطبوع.

  • set_pen_width — يحدد سمك الخطوط المرسومة ومخططات الأشكال.

  • set_pen_color — يحدد لون النص والبكسلات والخطوط ومخططات الأشكال.

  • set_fill_color — يحدد لون التعبئة للأشكال المرسومة وخلفيات النصوص المطبوعة.

  • set_origin — يحدد الأصل المستخدم للطباعة والرسم القائم على الإحداثيات.

ارسم — أضف رسومات إلى الشاشة.

  • draw_pixel — يرسم بكسل واحد عند إحداثية معينة.

  • draw_line — يرسم خطًا بين نقطتين.

  • draw_rectangle — يرسم مستطيلاً.

  • draw_circle — يرسم دائرة.

  • render — يقوم بتحديث شاشة الدماغ بالنصوص والرسومات فقط عند استدعائها.

  • set_clip_region — يقيد مكان ظهور الرسومات والنصوص.

المُستقبِلات — التحقق من حالة اللمس وموضع اللمس.

  • pressing — تُرجع ما إذا كان يتم الضغط على الشاشة.

  • x_position — تُرجع إحداثيات x لآخر ضغطة على الشاشة.

  • y_position — تُرجع إحداثيات y لآخر ضغطة على الشاشة.

الردود التلقائية — الاستجابة لأحداث اللمس على الشاشة.

  • pressed — يسجل دالة ليتم استدعاؤها عند الضغط على الشاشة.

  • released — يسجل دالة ليتم استدعاؤها عند تحرير الشاشة.

للحصول على معلومات حول بناء دماغ للوصول إلى طرق الشاشة screen ، انظر الدماغ.

بصمة المؤشر#

print#

print يطبع نصًا أو أرقامًا أو قيمًا متغيرة على شاشة الدماغ في موضع المؤشر الحالي وبنفس نوع الخط.

طريقة الاستخدام:

brain.screen.print(text, sep, precision)

حدود

وصف

text

النص أو الرقم أو قيمة المتغير المراد طباعتها.

sep

اختياري. سلسلة نصية لإدراجها بين القيم. يجب كتابتها كمعامل كلمة مفتاحية (sep=). القيمة الافتراضية هي “”.

precision

اختياري. عدد المنازل العشرية المراد عرضها عند طباعة الأرقام البسيطة. يجب كتابة هذا كمعامل كلمة مفتاحية (precision=). القيمة الافتراضية هي 2.

# Print on the Brain's screen
brain.screen.print("Hello, Robot!")

لقطة شاشة لدماغ V5 تُظهر عبارة "مرحباً أيها الروبوت" مطبوعة على الشاشة في الزاوية العلوية اليسرى باللون الأبيض.

set_cursor#

set_cursor moves the cursor to a specific row and column on the Brain screen. The next print call will start printing at that location. How many rows and columns can comfortably fit depends on the selected font. With the default monospaced medium font, up to 8 rows and 13 columns can be displayed clearly. Text placed beyond this range may be cut off or become difficult to read.

Monospaced fonts have characters that are all the same width, making text placement consistent. In contrast, proportional fonts vary in character width, so some letters take up more space than others. However, regardless of which type is used, set_cursor positions the cursor based on row and column size, not font style. The font size can be adjusted using the set_font.

طريقة الاستخدام:

brain.screen.set_cursor(row, column)

حدود

وصف

row

الصف الذي سيتم تحريك المؤشر إليه.

column

العمود الذي سيتم تحريك المؤشر إليه.

# Display text starting at Row 3 Column 12
brain.screen.set_cursor(3, 12)
brain.screen.print("Row 3, Column 12")

لقطة شاشة لدماغ V5 تُظهر الصف 3 العمود 12 مطبوعًا في الجزء العلوي بالقرب من مركز الشاشة، في ذلك الموضع.

next_row#

next_row ينقل المؤشر إلى الصف التالي.

طريقة الاستخدام:

brain.screen.next_row()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Print two lines of text on the Brain's screen
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

لقطة شاشة لشاشة V5 Brain تُظهر سطرين من النص الأبيض في الزاوية العلوية اليسرى. السطر الأول مكتوب عليه "السطر 1"، والسطر الثاني الذي يليه مباشرةً مكتوب عليه "السطر 2".

clear_row#

clear_row يمسح صفًا واحدًا من النص على شاشة الدماغ.

طريقة الاستخدام:

brain.screen.clear_row(row, color)

حدود

وصف

row

اختياري. الصف المراد مسحه. القيمة الافتراضية هي صف المؤشر الحالي.

color

Optional. A valid color, a hex value, or a web string.

# Only keep the text on row 1
brain.screen.print("This text stays")
brain.screen.next_row
brain.screen.print("This text disappears")
wait(3, SECONDS)

brain.screen.clear_row()

row#

row تُرجع الصف الذي سيتم فيه طباعة النص كعدد صحيح.

طريقة الاستخدام:

brain.screen.row()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Display the cursor's current row
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

لقطة شاشة لجهاز V5 Brain تُظهر النص 3 باللون الأبيض في الربع العلوي الأيسر من الشاشة، في الصف 3 العمود 2.

column#

العمود column يُرجع العمود الذي سيتم فيه طباعة النص كرقم صحيح.

طريقة الاستخدام:

brain.screen.column()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Display the cursor's current column
brain.screen.set_cursor(3, 15)
brain.screen.print(brain.screen.column())

لقطة شاشة لجهاز V5 Brain تُظهر النص 15 باللون الأبيض في الربع العلوي الأيسر من الشاشة، في الصف 3 العمود 15.

get_string_width#

get_string_width تُرجع عرض السلسلة بالبكسل كعدد صحيح، باستخدام font.

Usage:
brain.screen.get_string_width(string)

حدود

وصف

string

الخيط المراد قياسه.

get_string_height#

get_string_height تُرجع ارتفاع السلسلة بالبكسل كعدد صحيح، باستخدام font.

Usage:
brain.screen.get_string_height(string)

حدود

وصف

string

الخيط المراد قياسه.

clear_line#

clear_line يمسح سطر النص الحالي.

Usage: brain.screen.clear_line()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

new_line#

new_line ينقل المؤشر إلى العمود 1 في الصف التالي على شاشة Brain.

طريقة الاستخدام:

brain.screen.new_line()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

المتحولون#

clear_screen#

clear_screen يمسح جميع الرسومات والنصوص من شاشة الدماغ.

طريقة الاستخدام:

brain.screen.clear_screen(color)

حدود

وصف

color

اختياري. خيارات الألوان المتاحة:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (افتراضي)
  • Color.WHITE

# Print VEXcode on the screen
brain.screen.print("VEXcode")
wait(2, SECONDS)
# Clear screen to black
brain.screen.clear_screen()

# Print VEXcode on the screen
brain.screen.print("VEXcode")

# Clear screen to blue using predefined color
brain.screen.clear_screen(Color.BLUE)

لقطة شاشة لشاشة V5 Brain مع منطقة الطباعة بأكملها باللون الأزرق الفاتح.

set_font#

يُحدد set_font الخط المستخدم لعرض النصوص على شاشة الدماغ. سيتم تطبيق هذا الخط على جميع النصوص المطبوعة بعد تشغيل هذه الطريقة.

طريقة الاستخدام:

brain.screen.set_font(font)

حدود

وصف

font

يوجد أدناه خيار خط صالح.

لقطة شاشة لجهاز V5 Brain، حيث تظهر الأرقام والحروف باللون الأبيض في الزاوية العلوية اليسرى بخط MONO 12. يظهر الحرفان AZ في سطر واحد، ويشغلان ربع عرض الشاشة تقريبًا. وفي الزاوية السفلية اليسرى، يظهر 80 عمودًا و20 صفًا.
FontType.MONO12

نفس الصورة السابقة، بخط Mono 15. يظهر الحرفان AZ في سطر واحد، على ما يقارب نصف عرض الشاشة. في الزاوية السفلية اليسرى، يظهر عدد الأعمدة 68 وعدد الصفوف 16.
FontType.MONO15

نفس الصورة السابقة، بخط Mono 20. يظهر الحرفان AZ في سطر واحد، على ما يقارب ثلثي عرض الشاشة. في الزاوية السفلية اليسرى، يظهر 48 عمودًا و12 صفًا.
FontType.MONO20

نفس الصورة السابقة، بخط Mono 30. يظهر الحرفان AZ في سطر واحد، على كامل عرض الشاشة تقريبًا. في الزاوية السفلية اليسرى، يظهر 32 عمودًا و8 صفوف.
FontType.MONO30

نفس الصورة السابقة، بخط Mono 40. يظهر الحرف AX في سطر واحد، يمتد على عرض الشاشة. في الزاوية السفلية اليسرى، يظهر 24 عمودًا و6 صفوف.
FontType.MONO40

نفس الصورة السابقة، بخط Mono 60. يظهر اختصار AP على سطر واحد، يمتد على عرض الشاشة. في الأسفل، يظهر 16 عمودًا و4 صفوف.
FontType.MONO60

نفس الصورة السابقة، بخط Prop 20. يظهر الحرفان AZ في سطر واحد، على ما يقارب ثلثي عرض الشاشة. في الزاوية السفلية اليسرى، يظهر 48 عمودًا و12 صفًا.
FontType.PROP20

نفس الصورة السابقة، بخط Prop 30. يظهر الحرفان AZ في سطر واحد، يمتد على عرض الشاشة تقريبًا. في الزاوية السفلية اليسرى، يظهر عدد الأعمدة (32) وعدد الصفوف (8).
FontType.PROP30

نفس الصورة السابقة، بخط Prop 40. يظهر الحرف AU في سطر واحد، يمتد على عرض الشاشة. في الزاوية السفلية اليسرى، يظهر 24 عمودًا و6 صفوف.
FontType.PROP40

نفس الصورة السابقة، بخط Prop 60. يظهر فيها AN على سطر واحد، يمتد على عرض الشاشة. في الأسفل، يظهر 15 عمودًا و4 صفوف.
FontType.PROP60

# Set the font type to MONO40
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

لقطة شاشة من جهاز V5 Brain تظهر كلمة VEX باللون الأبيض في الزاوية العلوية اليسرى، بخط أكبر من الخط الافتراضي.

set_pen_width#

set_pen_width يحدد سمك الخطوط المرسومة ومخططات الأشكال.

طريقة الاستخدام:

brain.screen.set_pen_width(value)

حدود

وصف

value

عرض القلم، بالبكسل، من 0 إلى 32.

# Draw a rectangle with a pen width of 10
brain.screen.set_pen_width(10)
brain.screen.draw_rectangle(50, 50, 130, 60)

لقطة شاشة لجهاز V5 Brain تُظهر مستطيلاً ذا حدود سميكة مطبوعًا في الربع العلوي الأيسر من الشاشة.

set_pen_color#

set_pen_color يحدد لون النص والبكسلات والخطوط ومخططات الأشكال.

طريقة الاستخدام:

brain.screen.set_pen_color(color)

حدود

وصف

color

The pen and font color to use. Options include:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
You can also specify a custom color.

# Draw a rectangle with orange borders
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(50, 50, 130, 60)

لقطة شاشة من جهاز V5 Brain تُظهر مستطيلاً مرسوماً باللون البرتقالي في الربع العلوي الأيسر من الشاشة.

set_fill_color#

set_fill_color يحدد لون التعبئة المستخدم عند رسم الأشكال.

طريقة الاستخدام:

brain.screen.set_fill_color(color)

حدود

وصف

color

The fill color to use. Options include:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
You can also specify a custom color.

# Draw a purple rectangle
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(50, 130, 100, 60)

لقطة شاشة من شاشة V5 Brain تُظهر مستطيلاً مملوءًا باللون الأرجواني في الربع السفلي الأيسر من الشاشة.

set_origin#

يُحدد الخيار set_origin نقطة الأصل المستخدمة للرسم والطباعة القائمة على الإحداثيات على شاشة Brain. افتراضيًا، تكون نقطة الأصل هي الزاوية العلوية اليسرى للشاشة.

طريقة الاستخدام:

brain.screen.set_origin(x, y)

حدود

وصف

x

إحداثي س الذي سيتم تعيينه كنقطة أصل، من 0 إلى 479.

y

إحداثي y المراد تعيينه كنقطة أصل، من 0 إلى 239.

يرسم#

draw_pixel#

draw_pixel يرسم بكسل واحد عند إحداثيات x و y المحددة باستخدام لون القلم الحالي.

طريقة الاستخدام:

brain.screen.draw_pixel(x, y)

حدود

وصف

x

إحداثيات x لرسم البكسل، من 0 إلى 479، بالرجوع إلى أصل الشاشة.

y

إحداثيات y لرسم البكسل، من 0 إلى 239، بالرجوع إلى أصل الشاشة.

# Draw the pixels marking the corners of a square
brain.screen.draw_pixel(250, 100)
brain.screen.draw_pixel(275, 100)
brain.screen.draw_pixel(250, 125)
brain.screen.draw_pixel(275, 125)

لقطة شاشة من جهاز V5 Brain تُظهر مجموعة متنوعة من البكسلات التي تُشير إلى زوايا مربع بالقرب من مركز الشاشة.

draw_line#

draw_line يرسم خطًا من إحداثيات الشاشة الأولى إلى إحداثيات الشاشة الثانية باستخدام عرض القلم ولون القلم الحاليين.

طريقة الاستخدام:

brain.screen.draw_line(start_x, start_y, end_x, end_y)

حدود

وصف

start_x

إحداثيات x بالبكسل لبداية الخط، من 0 إلى 479، بالرجوع إلى أصل الشاشة.

start_y

إحداثيات y بالبكسل لبداية الخط، من 0 إلى 239، بالرجوع إلى أصل الشاشة.

end_x

إحداثيات x بالبكسل لنهاية الخط، من 0 إلى 479، بالرجوع إلى أصل الشاشة.

end_y

إحداثيات y بالبكسل لنهاية الخط، من 0 إلى 239، بالرجوع إلى أصل الشاشة.

# Draw a line from the top left to bottom right of the screen
brain.screen.draw_line(0, 0, 479, 239)

تُظهر لقطة شاشة لجهاز V5 Brain خطًا قطريًا رفيعًا عبر المنتصف، من الزاوية العلوية اليسرى إلى الزاوية السفلية اليمنى.

draw_rectangle#

draw_rectangle يرسم مستطيلاً باستخدام عرض القلم الحالي ولون القلم ولون التعبئة، ما لم يتم استخدام المعلمة الاختيارية color.

طريقة الاستخدام:

brain.screen.draw_rectangle(x, y, width, height, color)

حدود

وصف

x

إحداثيات x بالبكسل للزاوية العلوية اليسرى للمستطيل من 0 إلى 479.

y

إحداثيات y بالبكسل للزاوية العلوية اليسرى للمستطيل من 0 إلى 239.

width

عرض المستطيل.

height

ارتفاع المستطيل.

color

Optional. A valid color option:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
You can also specify a custom color.

# Draw a rectangle on the screen
brain.screen.draw_rectangle(50, 50, 130, 60)

تُظهر لقطة شاشة لجهاز V5 Brain مستطيلاً ذا إطار أبيض رفيع مطبوع في الربع العلوي الأيسر.

draw_circle#

draw_circle يرسم دائرة باستخدام عرض القلم الحالي ولون القلم ولون التعبئة، ما لم يتم استخدام المعلمة الاختيارية color.

طريقة الاستخدام:

brain.screen.draw_circle(x, y, radius, color)

حدود

وصف

x

إحداثيات x بالبكسل لمركز الدائرة، من 0 إلى 479، بالرجوع إلى أصل الشاشة.

y

إحداثيات y بالبكسل لمركز الدائرة، من 0 إلى 239، بالرجوع إلى أصل الشاشة.

radius

نصف قطر الدائرة بالبكسل.

color

Optional. The fill color to use. Options include:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
You can also specify a custom color.

# Draw a circle on the screen
brain.screen.draw_circle(120, 120, 40)

لقطة شاشة من جهاز V5 Brain تُظهر دائرة ذات إطار أبيض رفيع مرسوم في المنتصف.

render#

يُفعّل الأمر renderrender ) مرة أخرى. يتيح هذا تحديثات أكثر سلاسة وتحكمًا للشاشة، ولكنه يعني أنه لن يكون أي شيء مرئيًا حتى يتم استخدام الأمر `render ).

طريقة الاستخدام:

brain.screen.render()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()

set_clip_region#

يُحدد set_clip_region منطقة مستطيلة على الشاشة حيث سيتم حصر جميع الرسومات والنصوص. ولن يتم عرض أي محتوى خارج هذه المنطقة.

طريقة الاستخدام:

brain.screen.set_clip_region(x, y, width, height)

حدود

وصف

x

موضع الزاوية العلوية اليسرى للمستطيل على المحور السيني، نسبةً إلى نقطة الأصل على الشاشة.

y

موضع الزاوية العلوية اليسرى للمستطيل على المحور الصادي، نسبةً إلى نقطة الأصل على الشاشة.

width

عرض المستطيل.

height

ارتفاع المستطيل.

# Restrict text and drawings to a specific region
brain.screen.set_clip_region(0, 0, 120, 120)
brain.screen.draw_rectangle(60, 60, 100, 100, Color.RED)
brain.screen.print_at("Cut off!", x=60, y=60)

لقطة شاشة لشاشة V5 Brain مع نص أبيض مكتوب عليه "Cut of" مع مربع أحمر صلب أسفله مباشرة، في الربع العلوي الأيسر من الشاشة يوضح ما يتم طباعته داخل منطقة القص.

يلمس#

pressing#

الضغط على pressing يُرجع قيمة منطقية تشير إلى ما إذا كانت شاشة الدماغ قيد الضغط حاليًا.

  • True - يتم الضغط على الشاشة.

  • False - الشاشة غير مضغوطة.

طريقة الاستخدام:

brain.screen.pressing()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Change the screen's color after it's pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 479, 239)

# Display different messages after the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("First message!")
brain.screen.next_row()
# Lift finger to press the screen again
while brain.screen.pressing():
    wait(5, MSEC)
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("Second message!")
brain.screen.next_row()

x_position#

x_position تُرجع إحداثيات x لآخر ضغطة على الشاشة كعدد صحيح من 0 (يسار) إلى 479 (يمين).

طريقة الاستخدام:

brain.screen.x_position()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

y_position#

y_position تُرجع إحداثيات y لآخر ضغطة على الشاشة كعدد صحيح من 0 (أعلى) إلى 239 (أسفل).

طريقة الاستخدام:

brain.screen.y_position()

حدود

وصف

لا تحتوي هذه الطريقة على أي معلمات.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

معاودة الاتصال#

pressed#

pressed registers a function to be called when the Brain’s Screen is pressed.

طريقة الاستخدام:

brain.screen.pressed(callback, arg)

حدود

وصف

callback

A previously defined function that executes when the Brain screen is pressed.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

def my_function():
  brain.screen.print("Screen pressed")

# Call my_function whenever the Brain screen is pressed
brain.screen.pressed(my_function)

released#

released يسجل وظيفة ليتم استدعاؤها عند تحرير الشاشة (إزالة اللمس).

طريقة الاستخدام:

brain.screen.released(callback, arg)

حدود

وصف

callback

A previously defined function that executes when the Brain screen is released.

arg

Optional. A tuple containing arguments to pass to the callback function. See Using Functions with Parameters for more information.

def my_function():
  brain.screen.print("Screen released")

# Call my_function whenever the Brain screen is released
brain.screen.released(my_function)