2009-07-03 78 views
0

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

下面有一个例子输出我想产生

有一个游戏屏幕的尺寸为500×500。 有了它后面的屏幕的尺寸为1000×1000。

在i绘制一个0,0的纹理与500×500的父屏幕我想组件不显示

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

我想知道是否有一个简单的方法来做到这一点?

编辑:

基本上我想像的东西就像在Photoshop中的面具效果。

这里是一个图片Clipping picture

黑色的轮廓,其中纹理的另一半将被绘制。

回答

0

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

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

你也可以通过以正确的顺序绘制所有东西来剪辑。
它可能效率不高,但很容易。

p.s.一张照片在这里会有帮助。

0

另一种方式来解决这个问题:

基本上你有两个场景绘制:游戏画面(在你的picture蓝色部分)和背景屏幕(您picture的红色部分)。

我认为,你可以借鉴的游戏画面,并在两个不同的位图对象(或任何类似你在你的图形库)的backgrond屏幕。

下一步是裁剪的整个背景屏幕位图来输出位图对象,然后,你可以夹只是中央部分(500×500平方在输出屏幕居中)的游戏画面。


P.S:如果您可以添加更多关于您正在使用的图形库的细节,可能会更好。

+0

那么红色被认为是它背后的另一个屏幕。 – 2009-07-04 00:37:57