• # Re: [OCaml] Sdl et ecran tout noir, Beuuuuhh......

    Posté par . En réponse au journal [OCaml] Sdl et ecran tout noir, Beuuuuhh....... Évalué à 1.

    OK alors :

    1) ne pas programmer en mettant des expressions en toplevel. C'est moche, ça ne se fait pas.

    2) OcamlSDL n'est pas documenté car c'est un binding assez strict de SDL. La doc se trouve donc là -> http://sdldoc.csn.ul.ie/(...)

    3) Tu as plusieurs fonctions qui ne sont pas appliquées ... forcèment ça ne marche pas. (ça t'apprendras à ne pas programmer en balancant des expressions comme ça, cf 1. :)

    4) Voilà du code qui marche :


    let main () =
    Sdl.init [`VIDEO] ;
    let (bpp, w, h) = (24, 700, 480) in
    let screen = Sdlvideo.set_video_mode ~w ~h ~bpp [] in
    (* pas de HWSURFACE, ça sert à rien avec le pilote x11 *)
    let tux = Sdlloader.load_image "wall9.jpg" in
    let tax = Sdlvideo.display_format tux in
    Sdlvideo.blit_surface ~dst:screen ~src:tax () ;
    (* il blit_surface n'était pas complètement appliquée *)
    Sdlvideo.update_rect screen ;
    (* ou flip, c'est pareil *)
    Sdltimer.delay 3000 ;
    Sdl.quit ()
    (* 'manquait un () *)
    let () =
    try main () with exn -> Sdl.quit () ; raise exn
    (* c'est bien de toujours mettre un truc comme ça,
    ça protége en cas d'exception non rattrapée *)