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

Cla*_*aro 2 android andengine

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

Jon*_*ong 6

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

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

Path path = new Path(coordinatesX, coordinatesY);
Run Code Online (Sandbox Code Playgroud)

其中coordinatesXcoordinatesY是的,当然,float阵列.

现在,所有你需要做的是建立一个PathModifier与你Path:

PathModifier modifier = new PathModifier(duration, path);
modifier.setRemoveWhenFinished(true);
Run Code Online (Sandbox Code Playgroud)

(durationfloat指定实体沿路径移动的时间.它越小,实体移动得越快.尝试不同时间找出最适合您的方法).

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

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

sprite.registerEntityModifier(modifier);
Run Code Online (Sandbox Code Playgroud)

你完成了.