在AndEngine中使用复杂的数学路径移动精灵

时间:2012-01-08 16:23:12

标签: android andengine

我是AndEngine编程的新手。我想在用户可以与之交互之前移动一个精灵来重新创建一个复杂的动画。 精灵的初始运动不是那么线性而不是那么简单。我想将复杂的数学算法应用于移动精灵的坐标。 我怎样才能做到这一点?我可以在AndEngine中使用哪些现有功能?

1 个答案:

答案 0 :(得分:6)

计算您的位置并将它们存储到两个float数组中。第一个数组中的每个单元格都是X坐标,第二个数组中的每个单元格都是Y坐标。

然后,创建一个Path对象。确保它是AndEngine的Path对象,而不是常规的Android SDK(AndEngine是org.anddev.andengine.entity.modifier.PathModifier.Path)。 以这种方式创建Path

Path path = new Path(coordinatesX, coordinatesY);

coordinatesXcoordinatesY当然是float数组。

现在,您所要做的就是使用PathModifier创建Path

PathModifier modifier = new PathModifier(duration, path);
modifier.setRemoveWhenFinished(true);

duration是一个float,用于指定实体沿路径移动的时间。实体越小,实体移动的速度越快。尝试不同的时间以找出效果最佳的实体为你)。

使用setRemoveWhenFinished参数调用true可确保在路径完成时取消注册路径修饰符。

然后将它注册到你的精灵:

sprite.registerEntityModifier(modifier);

你已经完成了。