我是AndEngine编程的新手。我想在用户可以与之交互之前移动一个精灵来重新创建一个复杂的动画。 精灵的初始运动不是那么线性而不是那么简单。我想将复杂的数学算法应用于移动精灵的坐标。 我怎样才能做到这一点?我可以在AndEngine中使用哪些现有功能?
答案 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);
coordinatesX
和coordinatesY
当然是float
数组。
现在,您所要做的就是使用PathModifier
创建Path
:
PathModifier modifier = new PathModifier(duration, path);
modifier.setRemoveWhenFinished(true);
(duration
是一个float
,用于指定实体沿路径移动的时间。实体越小,实体移动的速度越快。尝试不同的时间以找出效果最佳的实体为你)。
使用setRemoveWhenFinished
参数调用true
可确保在路径完成时取消注册路径修饰符。
然后将它注册到你的精灵:
sprite.registerEntityModifier(modifier);
你已经完成了。