// 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; }