【发布时间】:2020-12-27 07:23:22
【问题描述】:
这里是初学者,所以这个问题可能有点愚蠢,我很抱歉。
我正在尝试为我正在开发的游戏制作菜单,并且我正在使用 Scene2d。
我知道父类和子类是如何工作的,但我在试图理解 Actor 类时遇到了困难。
我创建了一个名为“Actor1”的类,它继承自 Actor,覆盖了 draw 方法并简单地绘制了默认的 libgdx 图像:
public class Actor1 extends Actor{
Texture tex = new Texture("badlogic.jpg");
public void draw(Batch batch, float alphaParent){
batch.draw(tex, 0, 0);
}
}
它工作正常,但我对“alphaParent”参数有点困惑。所以我做了一些研究,我已经阅读了大量关于 parent 类的文章和问题,例如 github wiki:
如果 parentAlpha 与该 actor 的 alpha 如图所示组合,子 actor 将受到父级半透明的影响。
传递给draw的Batch配置为在父级的坐标中绘制,所以0,0是父级的左下角。
据我所知,我猜Actor 类是Actor1 类的父级。但如果是这样,“父母的坐标”或“父母的半透明度”是什么?它们在哪里初始化或定义,我在哪里可以更改它们?这些参数是来自Actor 类还是由其他东西定义的,比如舞台?
【问题讨论】: