gpt4 book ai didi

java - libgdx 用户数据类

转载 作者:行者123 更新时间:2023-11-30 06:46:25 25 4
gpt4 key购买 nike

我正在学习 libgdx,我遇到了一个为游戏中所有 Actor 创建 UserData 类的教程,例如对于 Actor 、玩家,他创建了一个类 PlayerUserData 来扩展 UserData,这是一个抽象类,它具有一种名为 getUserData 的方法返回一个枚举,指示它是什么类型的转换(地面、玩家……)。在教程中,他解释说他制作它是为了存储信息,并且它对于碰撞很有用。我不完全理解这一点,为什么不将信息存储在 Actor 的 Actor 类中?它有哪些关于碰撞的信息?

最佳答案

听起来很复杂......为什么不坚持使用简单的、经过尝试和测试的方法,如下所示;

interface MyActor {

enum Type {
// Types of actors
a, b, c, d
}
Type getType();
}

Actor1 implements MyActor
Actor2 implements MyActor
Actor3 implements MyActor
Actor4 implements MyActor

在每个 Actor来自 MyActor 的接口(interface)它必须返回 MyActor.Type 类型的枚举,这样就没有继承,并且参与者没有显然不需要的层次结构。

每个Actor实现MyActor有自己的类,可以一起存储在 libGDX 集合中,例如 Array<MyActor>()并且还可以轻松检查 Actor 的相应类型。

编辑

您甚至可以将以下方法添加到 MyActor方便检查 Actor 的类型;

boolean isType(Type type);

关于java - libgdx 用户数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43611646/

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