إعداد الإضافات وأولى المسارات
هذه الصفحة هي أقصر مسار موجّه بحسب المهمة بعد البدء السريع.
استخدمها عندما تريد صفحة واحدة تجيب عن سؤالين:
- ما هي الإضافات التي أحصل عليها فعليًا بشكل افتراضي؟
- ما الذي يجب أن أفتحه أو أشغّله أولًا بحسب المهمة التي تهمني؟
ملاحظة تخص هذا الفرع
يعرض فهرس الأمثلة فقط ملفات المصدر الموجودة في هذا الفرع. الحزمة المستقلة ذات الطابع Android
داخل android/android_phone_app هي أفضل عرض كامل للشاشة.
إعداد الواجهة المجمعة
إذا أضفت UnivisUiPlugin فأنت تحصل مسبقًا على:
UnivisUiStylePluginUnivisEnginePluginUnivisInteractionPluginUnivisWidgetPlugin
وهذا هو المسار الموصى به لمعظم التطبيقات.
تغطية Runtime للوحدات الجاهزة
يتضمن UnivisUiPlugin إضافة UnivisWidgetPlugin، وهذا السطح الافتراضي يضم الآن أيضًا:
UnivisTextFieldPluginلسلوك وأحداثUTextFieldUnivisBadgePluginللتحديثات الديناميكية لـUBadge/UTag
إذا ركّبت الإضافات يدويًا حول UnivisWidgetPlugin، فلست بحاجة إلى إضافات runtime إضافية:
use bevy::prelude::*;
use univis_ui_engine::UnivisEnginePlugin;
use univis_ui_interaction::interaction::UnivisInteractionPlugin;
use univis_ui_style::style::UnivisUiStylePlugin;
use univis_ui_widgets::widget::UnivisWidgetPlugin;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(UnivisUiStylePlugin)
.add_plugins(UnivisEnginePlugin)
.add_plugins(UnivisInteractionPlugin)
.add_plugins(UnivisWidgetPlugin)
.run();
}
واستخدم الإضافات المخصصة مباشرة فقط عندما تريد سطح widgets أضيق من UnivisWidgetPlugin.
إعداد الكاميرا
- التفاعل وتغيير حجم اللوحات يحسمان الكاميرا من كل
URootUi - تكفي
Camera2dبسيطة لأصغر مشاهد الواجهة الثابتة على الشاشة - في المشاهد متعددة الكاميرات يُفضّل
UiCameraRef::Entity(camera_entity)
مسارات البدء الأفضل
واجهة شاشة أساسية
ابدأ من:
ما الذي يجب التركيز عليه:
- أصغر مسار تشغيل على مستوى الواجهة المجمعة
- ثبات واجهة HUD على الشاشة أثناء حركة الكاميرا
شاشة تطبيق بطابع Android
شغّل هذا العرض:
cargo run --manifest-path android/android_phone_app/Cargo.toml
ما الذي يجب التركيز عليه:
- تركيب سطح تطبيق نظيف بطابع Android داخل
URootUi::screen() - دمج
UTextFieldوUToggleوUSeekBarوUButtonداخل شاشة واحدة ضيقة - التأكد من أن كثافة العناصر ما تزال مقروءة من دون رسم جسم الهاتف نفسه
لوحة داخل العالم
ابدأ من:
ما الذي يجب التركيز عليه:
- الفرق بين مساحة الرسم المنطقية والحجم الفيزيائي في العالم
- اللوحات العالمية التي يتحدد حجمها من المحتوى والجذور الشبيهة بلوحات الأدوات
إدخال نصي
ابدأ من:
ما الذي يجب التركيز عليه:
- الإدخال القابل للتحرير
- سلوك التغيير والإرسال
- تغطية
UTextFieldالافتراضية عبرUnivisWidgetPlugin
عناصر الاختيار
ابدأ من:
ما الذي يجب التركيز عليه:
- كيف تنسجم عناصر الاختيار مع بقية سطح الوحدات الجاهزة
- كيف تعكس الأمثلة الحالية واجهات الـ API للوحدات الجاهزة