さあこのBookの仕上げです。 前回 できらめき表現をしました。マスク画像を変えたり、値を変えることで色々な表現ができます。mask-smoke画像を使って、光る熱源を表現してみましょう。


  1. 背景色を screen.clearColor = .darkGrey にします。

  2. PGAddMask( "mask-smoke" )をランダムに200個描画します。

  3. 発生位置を円形の中に収める、x, yを計算します。計算は下記のサンプルのlet distlet vectorlet xlet y の内容を真似てください。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
func design( screen:PGScreen ) {
   // 背景の色
   screen.clearColor = .darkGrey

   for _ in 0 ..< 200 {
       let dist = (0.0...200.0).randomize
       let vector = (-2.0...2.0).randomize * 3.14
       let x = dist * cos( vector )
       let y = dist * sin( vector )

       PGAddMask( "mask-smoke" )
       .color( red:0.15, green: 0.2, blue:0.5 )
       .scale( square:(100...200).randomize )
       .position( cx:x, cy:y )
       .angle( .random )
       .alpha( .random )
   }
}
  1. 「コードを実行」を押します。

目標

  • 青く光る熱源のようなモヤが表現できたら成功です。

  • (+1) .colorの値をredが強いもの、greenが強いものなどに変えてみましょう。


終わったら次のページへ進みます。


実行例

result-1-4-7.png