0
嗨,我有问题如何在f#游戏循环中绘制面板# 我收到所有时间异常,当我关闭应用程序。F#线程对象处置异常
let rec gameLoop (gamePanel:Panel) = async {
lock gamePanel (fun() ->
let graphics = gamePanel.CreateGraphics(); //<-exception
let rectangle = new System.Drawing.Rectangle(100, 100, 200, 200);
graphics.DrawEllipse(System.Drawing.Pens.Black, rectangle);
)
return! gameLoop (gamePanel:Panel)
}
let startGame (p:Panel) (p1:Panel) = hide p; Async.StartAsTask(gameLoop p1);()
可以考虑将CancellationToken传递给Async.StartAsTask并使用该令牌来停止游戏循环;另请参阅CancellationTokenSource。 '静态成员StartAsTask:Async <'T> *?TaskCreationOptions *?CancellationToken - >任务<'T>' –
ok thx。我将关闭游戏循环。 – Luffy