コード例 #1
0
 private static void loadRefs(List <XmlNode
                                    > objectRefs, List <XmlNode
                                                        > boneRefs, com.discobeard.spriter.dom.Key key)
 {
     for (int i = 0; i < boneRefs.Count; i++)
     {
         XmlNode o = boneRefs[i];
         com.discobeard.spriter.dom.BoneRef bone = new com.discobeard.spriter.dom.BoneRef(
             );
         bone.setId(XmlReader.getInt(o, "id"));
         bone.setKey(XmlReader.getInt(o, "key"));
         int par = XmlReader.getInt(o, "parent", -1);
         bone.setParent(par);
         bone.setTimeline(XmlReader.getInt(o, "timeline"));
         key.getBoneRef().Add(bone);
     }
     for (int i_1 = 0; i_1 < objectRefs.Count; i_1++)
     {
         XmlNode o = objectRefs[i_1];
         com.discobeard.spriter.dom.AnimationObjectRef @object = new com.discobeard.spriter.dom.AnimationObjectRef
                                                                     ();
         @object.setId(XmlReader.getInt(o, "id"));
         @object.setKey(XmlReader.getInt(o, "key"));
         int par = XmlReader.getInt(o, "parent", -1);
         @object.setParent(par);
         @object.setTimeline(XmlReader.getInt(o, "timeline"));
         @object.setZIndex(XmlReader.getInt(o, "z_index"));
         key.getObjectRef().Add(@object);
     }
 }
コード例 #2
0
 private static void loadTimelineKeys(List <XmlNode> keys,
                                      com.discobeard.spriter.dom.TimeLine timeline)
 {
     for (int i = 0; i < keys.Count; i++)
     {
         XmlNode k   = keys[i];
         XmlNode obj = XmlReader.getChildByName(k, "bone");
         com.discobeard.spriter.dom.Key key = new com.discobeard.spriter.dom.Key();
         key.setId(XmlReader.getInt(k, "id"));
         key.setSpin(XmlReader.getInt(k, "spin", 1));
         key.setTime(System.Convert.ToInt64(XmlReader.getInt(k, "time", 0)));
         string name = XmlReader.getAttribute(k.ParentNode, "name");
         timeline.setName(name);
         if (obj != null)
         {
             com.discobeard.spriter.dom.Bone bone = new com.discobeard.spriter.dom.Bone();
             bone.setAngle(new java.math.BigDecimal(XmlReader.getFloat(obj, "angle", 0f)));
             bone.setX(new java.math.BigDecimal(XmlReader.getFloat(obj, "x", 0f)));
             bone.setY(new java.math.BigDecimal(XmlReader.getFloat(obj, "y", 0f)));
             bone.setScaleX(new java.math.BigDecimal(XmlReader.getFloat(obj, "scale_x", 1f)));
             bone.setScaleY(new java.math.BigDecimal(XmlReader.getFloat(obj, "scale_y", 1f)));
             key.setBone(bone);
         }
         else
         {
             com.discobeard.spriter.dom.AnimationObject @object = new com.discobeard.spriter.dom.AnimationObject
                                                                      ();
             obj = XmlReader.getChildByName(k, "object");
             @object.setAngle(new java.math.BigDecimal(XmlReader.getFloat(obj, "angle", 0f)));
             @object.setX(new java.math.BigDecimal(XmlReader.getFloat(obj, "x", 0f)));
             @object.setY(new java.math.BigDecimal(XmlReader.getFloat(obj, "y", 0f)));
             @object.setScaleX(new java.math.BigDecimal(XmlReader.getFloat(obj, "scale_x", 1f)));
             @object.setScaleY(new java.math.BigDecimal(XmlReader.getFloat(obj, "scale_y", 1f)));
             @object.setFolder(XmlReader.getInt(obj, "folder"));
             @object.setFile(XmlReader.getInt(obj, "file"));
             com.discobeard.spriter.dom.File f = data.getFolder()[@object.getFolder()].getFile
                                                     ()[@object.getFile()];
             @object.setPivotX(new java.math.BigDecimal(XmlReader.getFloat(obj, "pivot_x", f.getPivotX( ))
                                                        ));
             @object.setPivotY(new java.math.BigDecimal(XmlReader.getFloat(obj, "pivot_y", f.getPivotY( ))
                                                        ));
             key.getObject().Add(@object);
         }
         timeline.getKey().Add(key);
     }
 }
コード例 #3
0
 private static void loadMainlineKeys(List <XmlNode
                                            > keys, com.discobeard.spriter.dom.MainLine main)
 {
     for (int i = 0; i < keys.Count; i++)
     {
         XmlNode k = keys[i];
         com.discobeard.spriter.dom.Key key = new com.discobeard.spriter.dom.Key();
         key.setId(XmlReader.getInt(k, "id"));
         int time = XmlReader.getInt(k, "time", -1);
         if (time == -1)
         {
             key.setTime(0);
         }
         else
         {
             key.setTime(System.Convert.ToInt64(time));
         }
         main.getKey().Add(key);
         loadRefs(XmlReader.getChildrenByName(k, "object_ref"), XmlReader.getChildrenByName(k, "bone_ref"), key);
     }
 }
コード例 #4
0
 //import com.brashmonkey.spriter.converters.SpriterObjectConverter;
 //import com.discobeard.spriter.dom.AnimationObject;
 //final private SpriterObjectConverter objectConverter = new SpriterObjectConverter();
 public virtual com.brashmonkey.spriter.animation.SpriterAnimation buildAnimation(
     com.discobeard.spriter.dom.Animation animation)
 {
     com.discobeard.spriter.dom.MainLine mainline = animation.getMainline();
     System.Collections.Generic.IList <com.discobeard.spriter.dom.TimeLine> timeLines =
         animation.getTimeline();
     System.Collections.Generic.IList <com.discobeard.spriter.dom.Key> keyFrames = mainline
                                                                                   .getKey();
     bonesToTween = new System.Collections.Generic.Dictionary <com.brashmonkey.spriter.objects.SpriterBone
                                                               , int>();
     objectsToTween = new System.Collections.Generic.Dictionary <com.brashmonkey.spriter.objects.SpriterObject
                                                                 , int>();
     com.brashmonkey.spriter.animation.SpriterAnimation spriterAnimation = new com.brashmonkey.spriter.animation.SpriterAnimation
                                                                               (animation.getId(), animation.getName(), animation.getLength());
     for (int k = 0; k < keyFrames.Count; k++)
     {
         com.discobeard.spriter.dom.Key mainlineKey = keyFrames[k];
         System.Collections.Generic.IList <com.brashmonkey.spriter.objects.SpriterObject> tempObjects
             = new System.Collections.Generic.List <com.brashmonkey.spriter.objects.SpriterObject
                                                    >();
         System.Collections.Generic.IList <com.brashmonkey.spriter.objects.SpriterBone> tempBones
             = new System.Collections.Generic.List <com.brashmonkey.spriter.objects.SpriterBone
                                                    >();
         com.brashmonkey.spriter.animation.SpriterKeyFrame frame = new com.brashmonkey.spriter.animation.SpriterKeyFrame
                                                                       ();
         frame.setTime(mainlineKey.getTime());
         frame.setId(mainlineKey.getId());
         foreach (com.discobeard.spriter.dom.BoneRef boneRef in mainlineKey.getBoneRef())
         {
             com.discobeard.spriter.dom.TimeLine         timeline    = timeLines[boneRef.getTimeline()];
             com.discobeard.spriter.dom.Key              timelineKey = timeline.getKey()[boneRef.getKey()];
             com.brashmonkey.spriter.objects.SpriterBone bone        = boneMerger.merge(boneRef, timelineKey
                                                                                        );
             bone.setName(timeline.getName());
             if (mainlineKey.getTime() != timelineKey.getTime())
             {
                 bonesToTween.Add(bone, k);
             }
             else
             {
                 tempBones.Add(bone);
             }
         }
         //}
         foreach (com.discobeard.spriter.dom.AnimationObjectRef objectRef in mainlineKey.getObjectRef
                      ())
         {
             com.discobeard.spriter.dom.TimeLine timeline    = timeLines[objectRef.getTimeline()];
             com.discobeard.spriter.dom.Key      timelineKey = timeline.getKey()[objectRef.getKey()
                                                               ];
             com.brashmonkey.spriter.objects.SpriterObject @object = objectMerger.merge(objectRef
                                                                                        , timelineKey);
             @object.setName(timeline.getName());
             if (mainlineKey.getTime() != timelineKey.getTime())
             {
                 objectsToTween.Add(@object, k);
             }
             else
             {
                 tempObjects.Add(@object);
             }
         }
         //}
         frame.setObjects(Sharpen.Collections.ToArray(tempObjects, new com.brashmonkey.spriter.objects.SpriterObject
                                                      [tempObjects.Count]));
         frame.setBones(Sharpen.Collections.ToArray(tempBones, new com.brashmonkey.spriter.objects.SpriterBone
                                                    [tempBones.Count]));
         spriterAnimation.frames.Add(frame);
     }
     this.tweenBones(spriterAnimation);
     this.tweenObjects(spriterAnimation);
     return(spriterAnimation);
 }
コード例 #5
0
ファイル: SCMLReader.cs プロジェクト: Trixt0r/SpriterXNATest
 private static void loadTimelineKeys(List<XmlNode> keys, 
     com.discobeard.spriter.dom.TimeLine timeline)
 {
     for (int i = 0; i < keys.Count; i++)
     {
         XmlNode k = keys[i];
         XmlNode obj = XmlReader.getChildByName(k, "bone");
         com.discobeard.spriter.dom.Key key = new com.discobeard.spriter.dom.Key();
         key.setId(XmlReader.getInt(k,"id" ));
         key.setSpin(XmlReader.getInt(k,"spin", 1));
         key.setTime(System.Convert.ToInt64(XmlReader.getInt(k,"time", 0 )));
         string name = XmlReader.getAttribute(k.ParentNode, "name");
         timeline.setName(name);
         if (obj != null)
         {
             com.discobeard.spriter.dom.Bone bone = new com.discobeard.spriter.dom.Bone();
             bone.setAngle(new java.math.BigDecimal(XmlReader.getFloat(obj,"angle", 0f )));
             bone.setX(new java.math.BigDecimal(XmlReader.getFloat(obj,"x", 0f )));
             bone.setY(new java.math.BigDecimal(XmlReader.getFloat(obj,"y", 0f )));
             bone.setScaleX(new java.math.BigDecimal(XmlReader.getFloat(obj,"scale_x", 1f )));
             bone.setScaleY(new java.math.BigDecimal(XmlReader.getFloat(obj,"scale_y", 1f )));
             key.setBone(bone);
         }
         else
         {
             com.discobeard.spriter.dom.AnimationObject @object = new com.discobeard.spriter.dom.AnimationObject
                 ();
             obj = XmlReader.getChildByName(k, "object");
             @object.setAngle(new java.math.BigDecimal(XmlReader.getFloat(obj,"angle", 0f )));
             @object.setX(new java.math.BigDecimal(XmlReader.getFloat(obj,"x", 0f )));
             @object.setY(new java.math.BigDecimal(XmlReader.getFloat(obj,"y", 0f )));
             @object.setScaleX(new java.math.BigDecimal(XmlReader.getFloat(obj,"scale_x", 1f )));
             @object.setScaleY(new java.math.BigDecimal(XmlReader.getFloat(obj,"scale_y", 1f )));
             @object.setFolder(XmlReader.getInt(obj,"folder" ));
             @object.setFile(XmlReader.getInt(obj,"file" ));
             com.discobeard.spriter.dom.File f = data.getFolder()[@object.getFolder()].getFile
                 ()[@object.getFile()];
             @object.setPivotX(new java.math.BigDecimal(XmlReader.getFloat(obj,"pivot_x", f.getPivotX( ))
                 ));
             @object.setPivotY(new java.math.BigDecimal(XmlReader.getFloat(obj,"pivot_y", f.getPivotY( ))
                 ));
             key.getObject().Add(@object);
         }
         timeline.getKey().Add(key);
     }
 }
コード例 #6
0
ファイル: SCMLReader.cs プロジェクト: Trixt0r/SpriterXNATest
        private static void loadMainlineKeys(List<XmlNode
			> keys, com.discobeard.spriter.dom.MainLine main)
        {
            for (int i = 0; i < keys.Count; i++)
            {
                XmlNode k = keys[i];
                com.discobeard.spriter.dom.Key key = new com.discobeard.spriter.dom.Key();
                key.setId(XmlReader.getInt(k,"id" ));
                int time = XmlReader.getInt(k, "time", -1);
                if (time == -1) key.setTime(0);
                else key.setTime(System.Convert.ToInt64(time));
                main.getKey().Add(key);
                loadRefs(XmlReader.getChildrenByName(k, "object_ref"), XmlReader.getChildrenByName(k, "bone_ref"), key);
            }
        }