1つ上の-1〜1のあいだで変化する数値を使って図形を動かす

1つ上のサンプルを使っている。図形の位置変化を見ると、 1と-1に近づくほど数値の変化が小さくなっているのが分かる。 ソース参照。


ちょっと解説。ソースは次のとおり。

m = DAViewer.PixelLibrary;
period = 5; // time in seconds(数値を小さくすると-1〜1への変化スピードが上がる)
sinNum = m.Sin(m.Mul(m.LocalTime, m.DANumber(2*Math.PI/period)));	//-1〜1
myNum = m.Mul(sinNum,m.DANumber(75))	//-75〜75
myOval = m.Oval(50,50).Fill(m.DefaultLineStyle,m.SolidColorImage(m.Red));
myTrans = m.Translate2Anim(myNum,m.DANumber(0))
myImg = myOval.Transform(myTrans)
DAViewer.Image = myImg;
DAViewer.Start()


ポイントは、

sinNum = m.Sin(m.Mul(m.LocalTime, m.DANumber(2*Math.PI/period)));	//-1〜1
myNum = m.Mul(sinNum,m.DANumber(75))	//-75〜75

上の行で-1〜1の数値(DANumberオブジェクト)を得、
次の行のMul()でm.DANumber(75)との積を求めることで
-75〜75で変化するDAMumberオブジェクトを得ている。