Spine.TransformConstraintTimeline.SetFrame C# (CSharp) Method

SetFrame() public method

public SetFrame ( int frameIndex, float time, float rotateMix, float translateMix, float scaleMix, float shearMix ) : void
frameIndex int
time float
rotateMix float
translateMix float
scaleMix float
shearMix float
return void
		public void SetFrame (int frameIndex, float time, float rotateMix, float translateMix, float scaleMix, float shearMix) {
			frameIndex *= ENTRIES;
			frames[frameIndex] = time;
			frames[frameIndex + ROTATE] = rotateMix;
			frames[frameIndex + TRANSLATE] = translateMix;
			frames[frameIndex + SCALE] = scaleMix;
			frames[frameIndex + SHEAR] = shearMix;
		}

Usage Example

示例#1
0
 void ReadTransformAnimation(ref ExposedList <Timeline> timelines, SkeletonDataStream input, ref float duration, float scale)
 {
     // Transform constraint timelines.
     for (int i = 0, n = SkeletonDataStream.sp_readVarint(input.ptr, 1); i < n; i++)
     {
         int index      = SkeletonDataStream.sp_readVarint(input.ptr, 1);
         int frameCount = SkeletonDataStream.sp_readVarint(input.ptr, 1);
         TransformConstraintTimeline timeline = new TransformConstraintTimeline(frameCount);
         timeline.transformConstraintIndex = index;
         for (int frameIndex = 0; frameIndex < frameCount; frameIndex++)
         {
             timeline.SetFrame(frameIndex, SkeletonDataStream.sp_readFloat(input.ptr), SkeletonDataStream.sp_readFloat(input.ptr), SkeletonDataStream.sp_readFloat(input.ptr), SkeletonDataStream.sp_readFloat(input.ptr), SkeletonDataStream.sp_readFloat(input.ptr));
             if (frameIndex < frameCount - 1)
             {
                 SkeletonDataStream.sp_readCurve(input.ptr, frameIndex, timeline.curves);
             }
         }
         timelines.Add(timeline);
         duration = Math.Max(duration, timeline.frames[(frameCount - 1) * TransformConstraintTimeline.ENTRIES]);
     }
 }
All Usage Examples Of Spine.TransformConstraintTimeline::SetFrame