首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单个图箱中的多个突发性对象

单个图箱中的多个突发性对象
EN

Stack Overflow用户
提问于 2014-11-13 16:42:58
回答 1查看 176关注 0票数 0

我正在创建一个程序,以模拟突破游戏使用C#。

我一直在学习如何为游戏创建砖块、桨和球的各种技术,但无法解决如何将它们添加到Visual中的一个图片框中。

我面临的主要问题是,例如,为了移动球,我必须使用以下代码清除“画布”:paper.Clear(Color.White); --它基本上将图片框清除为白色,以便新的坐标(例如,球的坐标)在画框中成为黎明,这就是我的问题开始的地方。

突破游戏中的每个组件(我已经练习过)都使用paper.Clear(Color.White);代码。这意味着,例如,如果我想移动桨,显示砖块,同时弹跳球,程序决定一次只做一个功能。如果我将paper.Clear(Color.White);从我的一个资产中删除,那么程序就不会以我想要的方式工作。

有没有办法让所有这些组件在游戏中同时运行,而不完全忽略其中的任何一个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-13 16:50:06

最简单的是,您需要改变您的方法,使‘布局’或‘绘画’集中控制,大概是在一个计时器或类似的,并做一个单一的‘清除’操作,然后重新绘制您的所有组件。换句话说,不要让每个组件都清除画布,他们应该只关心自己的渲染。

以上是最简单的方法。除此之外,您可以采取一种方法,即只重绘已从一帧更改到另一帧的内容。这可以提高更优化的性能,特别是当游戏画布很大或有许多组件时。然而,它需要一个完全不同的,在某些方面更复杂的设计。您需要从先前的框架中确定对其进行“移动”或其他修改的矩形/矩形,只清除这些矩形,并要求那些完全或部分位于这些矩形中的组件重新绘制自己。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26913949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档