コード例 #1
0
        private void Update()
        {
            if (isPlaying)
            {
                double editorTime = EditorApplication.timeSinceStartup;
                float  dt         = (float)(editorTime - lastEditorTime);
                t += dt;
                lastEditorTime = editorTime;

                int frame = SpriteAnimationBehaviour.GetFrameIndex(ac[currentAnimationId], t);
                if (frame != currentFrame)
                {
                    currentFrame = frame;
                    if (currentFrame == 0)
                    {
                        animationMotionPosition = Vector2.zero;
                    }
                    Repaint();
                }

                if (showMotion)
                {
                    Vector2 move = SpriteAnimationBehaviour.Move(SpriteAnimationBehaviour.SampleMotion(ac[currentAnimationId], t), SpriteAnimationBehaviour.FacingToVector(facing)) * ac[currentAnimationId].frames[currentFrame].motion.motionMultiplier * dt;
                    animationMotionPosition += move;
                }
            }
        }
コード例 #2
0
ファイル: FrameEventAsset.cs プロジェクト: JayTea173/SoL
 public virtual void OnDamageTarget(SpriteAnimationBehaviour animated, SpriteFrame frame, IDamagable damaged)
 {
 }
コード例 #3
0
ファイル: FrameEventAsset.cs プロジェクト: JayTea173/SoL
 public virtual void OnFrameExit(SpriteAnimationBehaviour animated, SpriteFrame frame)
 {
 }