gpt4 book ai didi

libgdx - 制作 Actor 剪辑子图像

转载 作者:行者123 更新时间:2023-12-04 20:01:22 26 4
gpt4 key购买 nike

我想要一个绘制可绘制对象的 Actor ,但将其剪辑为 Actor 的大小。我从 Widget 派生这个类,并使用一些硬编码的值作为一个简单的测试:

public class MyWidget extends Widget {

public MyWidget(Drawable drawable) {
setDrawable(drawable);
setSize(100, 100);
}

public void draw(Batch batch, float parentAlpha) {
clipBegin(getX(), getY(), 20, 20);

drawable.draw(batch, getX(), getY(), 500, 500);

clipEnd();
}
}

虽然没有执行裁剪,drawable 溢出到 actor 的边界之外。如果重要的话,这个actor 是表的一部分。我相信我错误地使用了 clipBegin()/clipEnd() 方法。这样做的正确方法是什么?

谢谢

最佳答案

这是我根据评论和我自己的实验发现的。在开始剪辑之前和绘图之后刷新批处理非常重要,以确保正确的绘图被剪裁。

public void draw(Batch batch, float parentAlpha) {
batch.flush();
if (clipBegin(getX(), getY(), 20.0f, 20.0f)) {
//do your drawing here
drawable.draw(batch, getX(), getY(), 500, 500);
batch.flush();
clipEnd();
}
}

关于libgdx - 制作 Actor 剪辑子图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com