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

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

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

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

この記事を書いた人

ワタタク(Watataku)
  • クリエイティブコーダー / アーティスト
  • 「人の心に寄り添う、機能するアート」を探究しています
  • アートとテクノロジーが、社会や個人のウェルビーイングにどう貢献できるかに、関心があります

目次

【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};で色の調整をして完成。

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

ワタタク

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

ワタタク(Watataku)
クリエイティブコーダー/アーティスト
AIと共に、「人の心に寄り添う、機能するアート」を探究しています。

ここは、その思索と創造の全記録を記す、思考の実験室(アトリエ)です。

僕の創作の源泉は、人生経験そのものです。
不当な出来事や、精神的な支配の中で、私の心は何度も粉々に砕け散りました。しかし、その一つ一つの破片をどのようにすれば鮮やかな絵の具にできるかを考え、ゆっくり心のパレットに色を整えていきました。その、長い、長い、自身との対話の果てに「人の役に立つアートを作りたい」という考え方にたどり着きました。

かつて、僕の武器は、アコースティックギター弾き語りと、カメラでした。
オリジナルソングの演奏でお客様投票1位となった「物語の力」。
世界20カ国の旅で培った、多様な「視点」。

今、僕は、それら全ての経験を、「コード」という、新しい言語で、世界に問いかけています。

このブログでは、作品の制作過程や、日々の発見、そして、僕自身の上達の軌跡を記録していきます。

僕の旅が、あなたの日常を、ほんの少しでも豊かにするための、光になることを願って。

クリエイティブコーディングロード運営者 ワタタク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次