0

嘿,我想知道是否有人知道为 gui 或类似系统的菜单使用 2D 纹理进行剪辑。

这是我想产生的示例输出

有一个大小为 500 x 500 的游戏屏幕。后面有一个大小为 1000 x 1000 的屏幕。

当我使用 500 x 500 的父屏幕在 0、0 处绘制纹理时,我希望不显示该组件

但如果我在 500、450 处绘制组件并且纹理宽度和高度为 100,我希望只能看到整个宽度,但只能看到组件高度的一半。

我想知道是否有一种简单的方法可以做到这一点?

编辑:

基本上我在想像Photoshop中的蒙版效果。

这是一张图片

黑色轮廓是绘制纹理的另一半的位置。

4

2 回答 2

0

您可以剪切纹理。当生成的形状是多边形时,
您只需修改顶点和纹理坐标即可。

当剪裁的纹理是一个复杂的形状时,事情就会变得更加棘手。

您也可以通过按正确顺序绘制所有内容来进行剪辑。
它可能效率不高,但很容易。

ps 一张图片在这里会有所帮助。

于 2009-07-03T23:11:10.780 回答
0

解决此问题的另一种方法:

基本上你有两个场景要绘制:游戏屏幕(图片中的蓝色部分)和背景屏幕(图片中的红色部分)。

我认为您可以在两个不同的位图对象(或图形库中的任何类似对象)中绘制游戏屏幕和背景屏幕。

下一步是将整个背景屏幕位图剪辑到输出位图对象,然后您可以只剪辑游戏屏幕的中心部分(输出屏幕中心的 500 x 500 正方形)。


PS:如果您可以添加有关您正在使用的图形库的更多详细信息,也许会更好。

于 2009-07-04T00:26:31.767 回答