示例#1
0
        public void EnableMove(double speedSec)
        {
            // Set size and speed
            SpeedLocal = speedSec;
            SizeLocal  = 2f;

            // Define Line Node Movement
            SKAction scaleUp           = SKAction.ScaleYTo(SizeLocal, SpeedLocal);
            SKAction scaleUpWaveUp     = SKAction.ScaleYTo(SizeLocal + 0.3f, 0.1);
            SKAction scaleUpWaveDown   = SKAction.ScaleYTo(SizeLocal, 0.1);
            SKAction scaleDown         = SKAction.ScaleYTo(0.5f, SpeedLocal);
            SKAction scaleDownWaveDown = SKAction.ScaleYTo(0.5f - 0.3f, 0.1);
            SKAction scaleDownWaveUp   = SKAction.ScaleYTo(0.5f, 0.1);
            SKAction scaleSeq          = SKAction.Sequence(scaleUp, scaleUpWaveUp, scaleUpWaveDown, scaleDown, scaleDownWaveDown, scaleDownWaveUp);

            RunAction(SKAction.RepeatActionForever(scaleSeq));
        }
示例#2
0
        // Change Texture to disturbed texture
        public void ChangeTexture(bool disturb, double pointSpeed1)
        {
            // Default texture
            SKTexture sparkTexture3 = SKTexture.FromImageNamed("spark3");

            // Disturbed texture
            SKTexture sparkTexture4 = SKTexture.FromImageNamed("spark4");

            // Set custom fade and rotation actions
            if (disturb == true)
            {
                // Set disturbed texture
                Texture = sparkTexture4;

                // Fade Actions on the node
                // SKAction action1 = SKAction.FadeAlphaBy(-0.2f, 1);
                // SKAction action2 = SKAction.FadeAlphaBy(+0.2f, 1);
                // SKAction sequence = SKAction.Sequence(action1, action2);

                // Generated random rotation factor
                double rotateBy = rnd.NextDouble() * (2 - 1) + 1;
                RunAction(SKAction.RepeatActionForever(SKAction.RotateByAngle(NMath.PI, rotateBy)));

                // Set X Scaling related to PointSpeed1
                SKAction changeX1        = SKAction.ScaleXTo(1.1f, pointSpeed1);
                SKAction changeX2        = SKAction.ScaleXTo(0.9f, pointSpeed1);
                var      changeSequenceX = SKAction.Sequence(changeX1, changeX2);
                RunAction(SKAction.RepeatActionForever(changeSequenceX));

                // Set Y Scaling related to PointSpeed1
                SKAction changeY1        = SKAction.ScaleYTo(1.1f, pointSpeed1);
                SKAction changeY2        = SKAction.ScaleYTo(0.9f, pointSpeed1);
                var      changeSequenceY = SKAction.Sequence(changeY1, changeY2);
                RunAction(SKAction.RepeatActionForever(changeSequenceY));
            }

            // Set default texture
            else
            {
                Texture = sparkTexture3;
            }
        }
示例#3
0
        public void SetExactUpdatedValues(nfloat speedLocal, nfloat sizeLocal)
        {
            SpeedLocal = speedLocal;
            SizeLocal  = sizeLocal;

            // Updated actions
            RemoveAllActions();

            // One Time move to default size
            //RunAction(SKAction.ScaleYTo(0.5f, 0.1));

            SKAction scaleUp           = SKAction.ScaleYTo(SizeLocal, SpeedLocal);
            SKAction scaleUpWaveUp     = SKAction.ScaleYTo(SizeLocal + 0.3f, 0.1);
            SKAction scaleUpWaveDown   = SKAction.ScaleYTo(SizeLocal, 0.1);
            SKAction scaleDown         = SKAction.ScaleYTo(0.5f, SpeedLocal);
            SKAction scaleDownWaveDown = SKAction.ScaleYTo(0.5f - 0.3f, 0.1);
            SKAction scaleDownWaveUp   = SKAction.ScaleYTo(0.5f, 0.1);
            SKAction scaleSeq          = SKAction.Sequence(scaleUp, scaleUpWaveUp, scaleUpWaveDown, scaleDown, scaleDownWaveDown, scaleDownWaveUp);

            RunAction(SKAction.RepeatActionForever(scaleSeq));
        }