【p5.js】文字の雨を降らせる【作品No.15】

【p5.js】文字の雨を降らせる【作品No.15】
  • URLをコピーしました!
ワタタク

文字の雨を降らせる作品をつくりました。

コード、補足情報、コード内に参考にしたページのURL、良かったこと、反省点、次にどうするかをまとめています。

この記事を書いた人
ワタタク
  • クリエイティブコーディング上達関連情報と、その過程の記録を発信中
  • コンセプトは「クリエイティブコーディング1万時間の歩き方」
  • 2024年にProcessingの基礎学習のアウトプットを終え、2025年から作品制作開始

目次

【p5.js】文字の雨を降らせる【作品No.15】

【p5.js】文字の雨を降らせる【作品No.15】

アニメーション。

// 参考にさせていただいたページとURL
// Rain
// https://openprocessing.org/sketch/1903319/

let colors =["#003049","#d62828","#f77f00","#fcbf49","#eae2b7"] // 色の配列を定義
let letters = "abcdefghijklmnopqrstuvwxyz"; // 使う文字のリストを定義

function setup(){
  createCanvas(500, 500); // キャンバスのサイズを設定
  colorMode(HSB); // 色モードをHSBに設定
}

function draw() {
  background(255); // 背景を白に設定
  textSize(50); // テキストサイズを50に設定

  fill(random(colors)); // ランダムな色で塗りつぶし設定
  for(let i = 0; i < 7; i ++) { // 7回ループしてテキストを描画
    let letter = letters.charAt(floor(random(letters.length))); // ランダムな文字を選択
    text(letter, random(width), random(height)); // ランダムな位置に描画 charAt() はJavaScriptの標準的な文字列メソッドの一つで、特定の位置にある文字を取得するために使います。このメソッドはJavaScriptの組み込み関数として存在しており、特別なライブラリを読み込む必要はありません
  }

  fill(random(colors)); // もう一度ランダムな色で塗りつぶし設定
  for(let i = 0; i < 3; i ++){ // 3回ループしてテキストを描画
    let letter = letters.charAt(floor(random(letters.length))); // ランダムな文字を選択
    text(letter, random(width), random(height)); // ランダムな位置に描画
  }
}

Processingで書く

color[] colors = {#003049, #d62828, #f77f00, #fcbf49, #eae2b7};
String letters = "abcdefghijklmnopqrstuvwxyz";

void setup(){
  size(500, 500); // キャンバスのサイズを設定
  colorMode(HSB); // 色モードをHSBに設定
}

void draw() {
  background(255); // 背景を白に設定
  textSize(50); // テキストサイズを50に設定

  fill(colors[int(random(colors.length))]); // ランダムな色で塗りつぶし設定
  for(int i = 0; i < 7; i++) { // 7回ループしてテキストを描画
    char letter = letters.charAt(int(random(letters.length()))); // ランダムな文字を選択
    text(letter, random(width), random(height)); // ランダムな位置に描画
  }

  fill(colors[int(random(colors.length))]); // もう一度ランダムな色で塗りつぶし設定
  for(int i = 0; i < 3; i++) { // 3回ループしてテキストを描画
    char letter = letters.charAt(int(random(letters.length()))); // ランダムな文字を選択
    text(letter, random(width), random(height)); // ランダムな位置に描画
  }
}

感想

参考にしたページでは、「/」という記号を雨の変わりにしておられて、だったら文字でも使えるのではないかと思って、文字にしてみました。

あとはcolor[] colors = {#003049, #d62828, #f77f00, #fcbf49, #eae2b7};で色の調整をして完成。

最近覚えた、配列で色を調整する方法が楽でいい感じ。

ワタタク

それでは今日もレッツワクワクコーディング。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次