Dessin vagues « plat » est facile, mais je veux attirer l'onde entre deux points x1, y1 x2, y2Dessiner une onde sinusoïdale entre deux points arbitraires dans Actionscript 3
Voici le code « plat »:
package display
{
import flash.display.Sprite;
import flash.events.Event;
public class SineWave extends Sprite
{
private var angle:Number = 0;
private var centerY:Number = 200;
private var range:Number = 50;
private var xspeed:Number = 2;
private var yspeed:Number = .1;
private var xpos:Number
private var ypos:Number
public function SineWave()
{
init()
}
protected function init():void
{
var sinWavePosition = 100;
var cosWavePosition = 200;
var sinWaveColor:uint = 0xFF0000;
var cosWaveColor:uint = 0x00FF00;
var waveMultiplier:Number = 10;
var waveStretcher:Number = 5;
var i:uint;
for(i = 1; i < 500; i++)
{
var sinPosY:Number = Math.sin(i/waveStretcher) * waveMultiplier;
var cosPosY:Number = Math.cos(i/waveStretcher) * waveMultiplier;
graphics.beginFill(sinWaveColor);
graphics.drawRect(i, sinWavePosition + sinPosY, 2, 2);
graphics.beginFill(cosWaveColor);
graphics.drawRect(i, cosWavePosition + cosPosY, 2, 2);
}
}
}
}
Est-ce que ce doit être une onde sinusoïdale? Vous pouvez obtenir un effet similaire avec une courbe de Bézier, et les solutions pour les courbes de Bézier entre deux points sont nombreuses. –
non, il ne doit pas être une onde sinusoïdale. Vous en avez un sur le dessus de votre tête? Je vais chercher. Merci:> –