عرض الإطارات وإعادة ضبط التوقيت
لبات 0.7.0 · الإصدار الحالي
المضيف الأصلي فقط. يعرض كل جيل من جيلي النافذة 30 إطارا بهدف 60 FPS، ويتغير الأزرق السماوي إلى العنابي في المنتصف. يطبع كل جيل الزمن وزمن الإطار وFPS. تعتمد القيم العددية على المضيف. يعيد النجاح 0.
محتويات الصفحة
تجهيز المضيف الأصلي
المضيف الأصلي فقط، لبات 0.7.0 المنشور. يعرض كل جيل من جيلي النافذة 30 إطارا بهدف 60 FPS، ويتغير الأزرق السماوي إلى العنابي في المنتصف. يطبع كل جيل الزمن وزمن الإطار وFPS. تعتمد القيم العددية على المضيف. يعيد النجاح 0.
التثبيت الأصلي · دليل الرسم والإدخال · مرجع الواجهة.
لا يحتاج إلى وحدات مصدر أو ملفات بيانات.
لغة الصفحة مستقلة عن مفردات المصدر. نزّل الصيغ الموردة فقط بأسمائها الأصلية. تحمل البرامج ذات الصيغة المختلطة وحدها هذا الوصف في اللغتين، دون توليد ترجمة للمصدر.
المصدر المختلط
التنفيذ: المضيف الأصلي فقط · لبات 0.7.0
- لبات 0.7.0 أصلي على Linux بمعمارية x86_64 وglibc 2.34 أو أحدث.
- يحتاج التشغيل إلى شاشة Wayland/EGL أو X11/GLX متاحة وOpenGL 3.3 core. لا يحتاج إلى Raylib نظامي أو مترجم C. لا يحتاج الفحص والبناء إلى شاشة.
الإدخال: لا يحتاج إلى أسطر إدخال.
لا يتوفر مصدر عربي. المعروض هو مصدر مختلط كما ورد؛ لم تُترجم الشفرة.
// Run with: aspl run docs/examples/raylib-frames.mixed.aspl
// Two brief clear-and-present loops show fresh timing after reopening.
import core::raylib;
استورد أساسي::رايليب.
fn draw_frames() -> i64 {
var frame: i64 = 0;
while frame < 30 {
let begun = raylib::ابدأ_الرسم();
if not begun::ok { print(begun::error::message); return 1; }
var color = raylib::SKYBLUE;
if frame >= 15 { color = رايليب::MAROON; }
let cleared = رايليب::ClearBackground(color);
if not cleared::ok { print(cleared::error::message); return 2; }
let ended = raylib::أنه_الرسم();
if not ended::ok { print(ended::error::message); return 3; }
frame = frame + 1;
}
let time = raylib::الزمن();
let delta = raylib::GetFrameTime();
let fps = رايليب::معدل_الإطارات();
if not time::ok or not delta::ok or not fps::ok { return 4; }
print("Frames / إطارات: time="); print(format_f64(time::value));
print(" frame="); print(format_f32(delta::value));
print(" fps="); print(format_i64(i64(fps::value))); print("\n");
return 0;
}
fn start_main() -> i64 {
let target = raylib::SetTargetFPS(60);
if not target::ok { print(target::error::message); return 1; }
var generation: i64 = 0;
while generation < 2 {
let opened = رايليب::هيئ_نافذة(640, 360, "ASPL frames / إطارات رايليب");
if not opened::ok { print(opened::error::message); return 2; }
if raylib::زمن_الإطار()::value not match 0.0 or raylib::GetFPS()::value not match 0 { return 3; }
let drawn = draw_frames();
if drawn not match 0 { return drawn; }
let closed = raylib::أغلق_النافذة();
if not closed::ok { print(closed::error::message); return 4; }
generation = generation + 1;
}
return 0;
}
اتبع تعليمات Linux لتنفيذ هذا المثال. نزّل المصدر لحفظه.
تنزيل raylib-frames.mixed.asplالنتائج المتوقعة
{
"native": {
"check": 0,
"status": 0,
"behavior": {
"en": "Two window generations each present 30 frames at a target 60 FPS, changing sky blue to maroon halfway. Each prints time, frame time and FPS. The numeric values depend on the host. Success returns 0.",
"ar": "يعرض كل جيل من جيلي النافذة 30 إطارا بهدف 60 FPS، ويتغير الأزرق السماوي إلى العنابي في المنتصف. يطبع كل جيل الزمن وزمن الإطار وFPS. تعتمد القيم العددية على المضيف. يعيد النجاح 0."
}
}
}الأوامر والنتائج
شغّل من المجلد الذي يحتوي شجرة docs/ المنزلة. احتفظ بالملف المرافق .THIRD-PARTY-NOTICES عند توزيع برنامج ELF. لا يفتح الفحص والبناء نافذة. يحتاج التشغيل إلى متطلبات الرسوم المذكورة.
mixed:
aspl check docs/examples/raylib-frames.mixed.aspl
aspl run docs/examples/raylib-frames.mixed.aspl
aspl build -o raylib-frames-mixed-program docs/examples/raylib-frames.mixed.aspl
./raylib-frames-mixed-program