サンプルプログラム集(for Staging)

val s=Staging
s.clear
// この2行を先頭に入れておいて下さい
// 以下の例では省略しておきますが

// 円を並べる 2重のループ
for(i<- 1 to 10)
    for(j<-i to 20-i) {
        s.circle(j*10,i*10,4)
        Thread.sleep(500)
}

// 線を1本
line(0,0,100,0)

// 繰り返し (しかし重なって一本にしか見えない)
for(i<-0 to 10)
    line(0,0,100,0)

微細な変化

// y座標を変化させる 変化量が小さいと塗りつぶしたように見える(右図)
for(i<-0 to 10)
    s.line(0,i,100,0)


// 適切な変化量にしてみる(iを10倍してみた)
for(i<-0 to 10)
    s.line(0,i*10,100,0)


// 始点と終点のy座標を同調して動かさせる と水平線の群れになる
for(i<-0 to 10)
    s.line(0,i*10,100,i*10)

// 順々に描画していく様子が見られる(ブレースを忘れないように)
for(i<-0 to 10) {
    s.line(0,i*10,100,i*10)
    Thread.sleep(1000)
}

逆順に描く

// 逆順に描画(y座標が減っていく順番)
   // i の値はさっきと同様に増えていくという方針だと:
   for(i<-0 to 10) {
       s.line(0,100-i*10,100,100-i*10)
       Thread.sleep(1000)
   }
   // i の値が逆順に動くという方針だと:
   for(i<-10 to 0 by -1) {
       s.line(0,i*10,100,i*10)
       Thread.sleep(1000)
   }

// Shape Method (とマニュアルに書いてある)の使い方
val rr=s.rectangle(0,0,100,100)
rr.rotate(10)		// この行だけを実行すると正方形が回転する

// アニメーションの例
val rr=s.rectangle(0,0,100,100)
animate {
    rr.rotate(10)
}

// 回数を決めて動かすなら	(ここ(stagingの中)では repeat()が使えないので)
val rr=s.rectangle(0,0,100,100)
for(i<-1 to 100)  {
    rr.rotate(10)
    Thread.sleep(300)
}

// rotate の使用例 
for(i<-1 to 60) {
    s.rectangle(0, 50, 80, 100).rotate(i*3)
    Thread.sleep(300)
}