我是libgdx的新手,很享受它为我提供的学习。
我目前正在创建一些自定义演员(扩展演员类),并在屏幕上移动他们。
我的问题是,当使用setX()、setY()移动参与者时,如何使用作为act方法参数提供的传入浮点增量来正确缩放它?
实例
@Override
public void act(float delta) {
if (wasTouched) {
setY(getY() - .5f);
}
}
我怎样才能正确地用增量来缩放运动?在libgdx Actor类中是否有用于此的内置函数?
没有内置的功能。我不知道你的更新
方法是什么样子的,所以我不知道被触摸
是否会在手指按住的每一帧都是真的。
但是如果你想在手指按住物体的同时以一定的速度移动物体,那么首先你需要有一个理想的速度。它可以是恒定的,比如
private static final float SPEED_WHEN_TOUCHED = 5.0f; //in viewport units per second
或者它可能是随时间变化的某个变量,但无论哪种方式,它都应该以每秒的视口(世界)单位为单位。
然后,当你想以这个速度移动某个物体时,你将这个速度乘以delta时间(以秒为单位),得到你想要的运动量。
@Override
public void act(float delta) {
if (wasTouched) {
y += SPEED_WHEN_TOUCHED * delta;
positionChanged();
}
}
所以,我正在开发一个flappy bird克隆。我设计了一个按钮,可以让鸟弹跳。我还想为这个按钮画一些东西(在这一点上完全不相关)。但不是每次按下按钮时。我已经试过了: 但这就是我现在想要的。我特别想在第一次按下按钮时画一些东西。我希望你能理解我的问题。谢谢你的帮助。
我对游戏编程相当陌生,刚刚开始考虑用libgdx构建我的第一个2d游戏。我已经搭建了一个舞台,演员们被吸引到屏幕上,通过动作、寻路等等。但是,当我创建几个阶段时,对于“Stage”类的用法,我有点困惑。最好的解决方案是只为所有扩展Stage的每个级别创建类,还是不需要,最好的解决方案是为每个级别创建类,并在其中包含一个Stage对象?希望这个问题不要太混乱,提前谢谢!
我通过扩展现有控件创建了一个新控件,我希望在JavaFX场景中使用这个新控件。我希望能够使用Scene Builder编辑我的场景,但在将新控件添加到FXML文件后,我在打开Scene Builder时遇到。 例如,下面是我创建的一个类,它扩展了: 将此控件添加到FXML文件后... 为什么Scene Builder找不到我的新控件?我需要做什么才能让它找到并能够使用我的新控件? 如果需要,下面是
当演员在另一个班级时,我很难让MoveToAction在演员身上工作(menuBackground)。我在下面附上了相关代码——这根本不会让演员动起来。 我成功地将其他操作应用于MainMenuScreen类中的根阶段,以及MainMenuScreen类中的其他参与者(按钮),但没有成功地将操作应用于单独类中的参与者。 我尝试过将MoveToAction放在Menubackground类中的act
我正在开发一个Android游戏,使用Eclipse中的libGDX。我想加快我的场景(跑步机),每当一个球员得了10分。跑步机的初始速度等于0,每10分累加5。当角色掉出屏幕时,玩家就输掉了游戏。有人知道怎么做吗?
我有个小问题。我在一个博客上看到,你必须从一个自定义组件创建一个.jar并将该文件加载到scene builder中,但是在我的项目中,所有的自定义组件都在主项目中,难道我必须从项目中创建一个.jar并导入它吗,因为这看起来很奇怪。非常感谢。