///画像変更 private void changeImage(string aName) { if (mCurrentGifName == aName) { return; } mCurrentGifName = aName; mGifAnimator.setSprites(mSprites[aName]); }
//アニメーションありの初期化 public void init(List <Sprite> aSprite, float aInterval, MapBehaviourAttribute aAttribute) { if (mAttribute != null) { return; } mAttribute = aAttribute; GifAnimator tGif = gameObject.AddComponent <GifAnimator>(); tGif.setSprites(aSprite); tGif.setInterval(aInterval); tGif.play(); }
public override void initImage(Arg aArg, string aDirectory) { createChild(); mAnimator = MyBehaviour.create <GifAnimator>(); mAnimator.gameObject.transform.SetParent(mChild.transform, false); Arg tAnimationData = aArg.get <Arg>("animation"); //更新インターバル mAnimator.setInterval(tAnimationData.get <float>("interval")); //画像のpivot Vector2 tPivot = new Vector2(aArg.ContainsKey("pivotX") ? aArg.get <float>("pivotX") : 0.5f, aArg.ContainsKey("pivotY") ? (aArg.get <float>("pivotY")) : 0.5f); //画像 List <Sprite> tSprites = new List <Sprite>(); if (tAnimationData.ContainsKey("tile"))//コマを座標指定 { int tWidth = (aArg.ContainsKey("width")) ? aArg.get <int>("width") : 1; int tHeight = (aArg.ContainsKey("height")) ? aArg.get <int>("height") : 1; foreach (List <int> tXY in tAnimationData.get <List <List <int> > >("tile")) { tSprites.Add(ChipLoader.load(aDirectory + "/" + aArg.get <string>("file"), tXY[0], tXY[1], tWidth, tHeight)); } } else if (tAnimationData.get <string>("direction") == "horizontal")//コマが横方向 { for (int i = 0; i < tAnimationData.get <int>("frame"); i++) { tSprites.Add(ChipLoader.load(aDirectory + "/" + aArg.get <string>("file"), aArg.get <int>("x") + i * aArg.get <int>("width"), aArg.get <int>("y"), aArg.get <int>("width"), aArg.get <int>("height"), tPivot)); } } else //コマが縦方向 { for (int i = 0; i < tAnimationData.get <int>("frame"); i++) { tSprites.Add(ChipLoader.load(aDirectory + "/" + aArg.get <string>("file"), aArg.get <int>("x"), aArg.get <int>("y") + i * aArg.get <int>("height"), aArg.get <int>("width"), aArg.get <int>("height"), tPivot)); } } mAnimator.setSprites(tSprites); mAnimator.play(); }