以下事件可能每帧被调用数百次.
public bool OnCollision(Body body1, Body body2)
{
if(body2.Tag is Dog)
((Dog)body2.Tag).Bark();
}
Run Code Online (Sandbox Code Playgroud)
我知道使用"is"会导致演员表演,然后当我想用它做某事时,再次使用它.有没有更有效的方法来检查类型?我做了一个控制台应用程序尝试"if(body2.Tag.GetType()== typeOf(Dog))"但它似乎比使用"是"更慢.
谢谢.
我正在使用C#WinForms为我的XNA游戏创建一个关卡生成器.我有一个瓷砖网格,您可以使用铅笔工具绘制,就像在MSPaint中一样.问题是,当您快速拖动鼠标(ish)绘制线条时,会跳过图块.
我曾尝试使用我在谷歌上看到的一种方法,即生成一个线程来进行绘画,但这似乎没有帮助.
有任何想法吗?
我有一个按钮点击运行的方法,有4个标签.我需要做的是在每个代码块执行后更新标签.我尝试过线程,更新面板等,但似乎无法正常工作.我认为计时器可以正常工作,但只有当你不在方法中时它才会打勾.代码看起来像这样:
private void SomeMethod()
{
label1.text = "Processing...";
AnotherMethod();
label1.text = "Done.";
label2.text = "Processing...";
AnotherAnotherMethod();
label2.text = "Done.";
//etc...
}
Run Code Online (Sandbox Code Playgroud)