Esempio n. 1
0
 ///画像変更
 private void changeImage(string aName)
 {
     if (mCurrentGifName == aName)
     {
         return;
     }
     mCurrentGifName = aName;
     mGifAnimator.setSprites(mSprites[aName]);
 }
Esempio n. 2
0
    //アニメーションありの初期化
    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();
    }
Esempio n. 3
0
    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();
    }