Android 在AndEngine中使用复杂的数学路径移动精灵
我是一个新的和引擎编程。我想在用户可以与之交互之前移动一个精灵,以重新创建一个复杂的动画。 精灵的初始运动不是那么线性,也不是那么简单。我想对移动精灵的坐标应用一个复杂的数学算法。Android 在AndEngine中使用复杂的数学路径移动精灵,android,andengine,Android,Andengine,我是一个新的和引擎编程。我想在用户可以与之交互之前移动一个精灵,以重新创建一个复杂的动画。 精灵的初始运动不是那么线性,也不是那么简单。我想对移动精灵的坐标应用一个复杂的数学算法。 我怎样才能做到这一点?我可以在AndEngine中使用哪些现有函数?计算您的位置并将它们存储到两个float数组中。第一个数组中的每个单元格都是X坐标,第二个数组中的每个单元格都是Y坐标 然后,创建一个路径对象。确保它是AndEngine的路径对象,而不是常规的Android SDK对象(AndEngine是org.
我怎样才能做到这一点?我可以在AndEngine中使用哪些现有函数?计算您的位置并将它们存储到两个
float
数组中。第一个数组中的每个单元格都是X坐标,第二个数组中的每个单元格都是Y坐标
然后,创建一个路径
对象。确保它是AndEngine的路径
对象,而不是常规的Android SDK对象(AndEngine是org.anddev.AndEngine.entity.modifier.PathModifier.Path
)。
通过以下方式创建您的路径
:
Path path = new Path(coordinatesX, coordinatesY);
其中coordinares
和coordinaresy
当然是float
数组
现在,您只需使用路径创建一个路径修饰符:
PathModifier modifier = new PathModifier(duration, path);
modifier.setRemoveWhenFinished(true);
(duration
是一个float
指定实体沿路径移动的时间。它越小,实体移动越快。尝试不同的时间,找出最适合你的方法)
使用true
参数调用setremoveewhenfinished
,可确保在路径完成时取消注册路径修饰符
然后将其注册到您的精灵:
sprite.registerEntityModifier(modifier);
你完了。嘿……你救了我的命……非常感谢!!