/// <summary>Interpolates the objects of firstFrame and secondFrame.</summary> /// <remarks>Interpolates the objects of firstFrame and secondFrame.</remarks> /// <param name="currentFrame"></param> /// <param name="nextFrame"></param> /// <param name="xOffset"></param> /// <param name="yOffset"></param> protected internal virtual void transformObjects(com.brashmonkey.spriter.animation.SpriterKeyFrame currentFrame, com.brashmonkey.spriter.animation.SpriterKeyFrame nextFrame, float xOffset, float yOffset) { this.rect.set(xOffset, yOffset, xOffset, yOffset); this.updateTransformedTempObjects(nextFrame.getObjects(), this.tempObjects2); this.updateTempObjects(currentFrame.getObjects(), this.nonTransformedTempObjects); for (int i = 0; i < this.currenObjectsToDraw; i++) { if (this.tempObjects[i].tween) { this.tweenObject(this.nonTransformedTempObjects[i], nextFrame.getObjectFor(this.nonTransformedTempObjects [i]), i, currentFrame.getTime(), nextFrame.getTime()); } else { this.tweenObject(this.animations[0].frames[0].getObjectFor(this.nonTransformedTempObjects [i]), nextFrame.getObjectFor(this.nonTransformedTempObjects[i]), i, currentFrame .getTime(), nextFrame.getTime()); } } }
/// <summary>Interpolates the bones for this animation.</summary> /// <remarks>Interpolates the bones for this animation.</remarks> /// <param name="currentFrame">first keyframe</param> /// <param name="nextFrame">second keyframe</param> /// <param name="currentAnimationTime"></param> /// <param name="key2StartTime"></param> /// <returns>interpolated SpriterBone array</returns> protected internal virtual void transformBones(com.brashmonkey.spriter.animation.SpriterKeyFrame currentFrame, com.brashmonkey.spriter.animation.SpriterKeyFrame nextFrame, float xOffset, float yOffset) { if (this.rootParent.getParent() != null) { this.translateRoot(); } else { this.tempParent.setX(xOffset); this.tempParent.setY(yOffset); this.tempParent.setAngle(this.angle); this.tempParent.setScaleX(this.flippedX); this.tempParent.setScaleY(this.flippedY); } this.setScale(this.scale); this.updateTransformedTempObjects(nextFrame.getBones(), this.tempBones2); this.updateTempObjects(currentFrame.getBones(), this.nonTransformedTempBones); for (int i = 0; i < this.nonTransformedTempBones.Length; i++) { if (this.tempObjects[i].tween) { this.tweenBone(this.nonTransformedTempBones[i], nextFrame.getBoneFor(this.nonTransformedTempBones [i]), i, currentFrame.getTime(), nextFrame.getTime()); } else { this.tweenBone(this.nonTransformedTempBones[i], this.animations[0].frames[0].getBoneFor (this.nonTransformedTempBones[i]), i, currentFrame.getTime(), nextFrame.getTime( )); } } }