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)); }
// 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; } }
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)); }