2012-01-08 51 views
2

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

回答

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阵列。现在

,所有你需要做的就是创建一个PathModifierPath

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

durationfloat指定用于实体的时间将沿路径移动越小它的速度就越快。实体移动,尝试不同的时间以找出最适合你的方式)。

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

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

sprite.registerEntityModifier(modifier); 

和你做。

+0

嘿,你救了我的命..非常感谢你! – 2012-01-08 18:12:00