【发布时间】:2014-08-07 02:55:00
【问题描述】:
我正在制作我的第一个游戏!这是一个非常简单的 2D 游戏,只是一个可以跑来跑去跳块的角色。
我的计时器的时间间隔是 1,每次滴答都会检查玩家和方块之间的碰撞。由于某种原因,角色没有“跳跃”的唯一块是检查它的碰撞的最后一个块。也许多线程可以工作?
这是我的第一个游戏,如果代码混乱,非常抱歉。我将我的代码分成两部分(使用 pastebin,因为它很长,至少对我来说是这样):
整个游戏代码:http://pastebin.com/GX4PtUuL
我认为需要的:http://pastebin.com/GEBEinm8
如果您需要我告诉您更多信息,请随时询问。请记住,我不是“高级”程序员,所以我不会理解所有内容。
提前致谢!
【问题讨论】:
-
我没有看代码,但不是运行一个恒定的计时器来检查碰撞,你不能每次移动角色时检查碰撞吗?假设您按右箭头向右运行,按下它会检查它是否可以移动,或者是否有碰撞。在这种情况下,当您不动时,游戏会“无所事事”,因此不会出现故障。
-
如果你的意思是timer1.Interval == 1,那就有点乐观了。我怀疑任何人的屏幕刷新率为 1000 Hz。您可以尝试将值增加到 20。
-
很遗憾,您的两个解决方案均无效。
标签: c# visual-studio-2010 collision-detection