2015年7月7日火曜日

お絵かきロジック(笑)の続き

元の話題をすり替えて「カクカクしている」(直線しか引けない、と言いたいらしい)とか難癖をつける奴がいたので、また自分の確認・練習も兼ねて。Firefox推奨。

open Dom_html
open Graphics_js
let () = (* open_graph "" *)
  Js.Opt.iter
    (CoerceTo.canvas (getElementById "canvas2"))
    Graphics_js.open_canvas
let rec k = function
  | `Up ->
      loop [Button_down] (fun status ->
        moveto status.mouse_x status.mouse_y;
        k `Down)
  | `Down ->
      loop [Button_up] (fun status ->
        k `Up);
      loop [Mouse_motion] (fun status ->
        lineto status.mouse_x status.mouse_y;
        k `Down)
let () = k `Up
後半は
let rec k () =
  loop [Button_down] (fun status ->
    moveto status.mouse_x status.mouse_y;
    loop [Button_up] (fun status -> k ());
    loop [Mouse_motion] (fun status ->
      lineto status.mouse_x status.mouse_y))
let () = k ()
でも良いはず。わかりにくいからやめておくが。

0 件のコメント:

コメントを投稿