Unityで2Dゲーム開発(8)〜OTSpriteの現フレーム画像オリジナルサイズ取得方法〜

OTSpriteの任意フレームを拡大あるいは縮小させた場合、そのOTSpriteのsizeプロパティは変化するため、そのフレームのオリジナルサイズとしては利用できません。

そこで、OTSprinteのCurrentFrame()を利用して、まず現フレームのオブジェクトを取得します。すると、そのオブジェクトのimageSizeプロパティのxとyを参照することで、オリジナルサイズを知ることができます。

例えば、スプライトを1秒で10倍に拡大後、1秒で元に戻すアニメーションは、

//sprite = OTSprite
void Kakudai ()
{
    OTTween _tween;
    _tween = new OTTween (sprite, 1.0f, OTEasing.Linear);
    _tween.Tween ("size", new Vector2(sprite.CurrentFrame().imageSize.x*10, sprite.CurrentFrame().imageSize.y*10));
    _tween.onTweenFinish = this.Shukusho;
}

void Shukusyo (OTTween tween)
{
    OTTween _tween;
    _tween = new OTTween (sprite, 1.0f, OTEasing.Linear);
    _tween.Tween ("size", new Vector2 (sprite.CurrentFrame().imageSize.x, sprite.CurrentFrame().imageSize.y));
}

のように書けます。