
文字の雨を降らせる作品をつくりました。
コード、補足情報、コード内に参考にしたページのURL、良かったこと、反省点、次にどうするかをまとめています。
この記事を書いた人


- クリエイティブコーディングで制作した作品と、上達のためにやったこと・学習過程を発信
- コンセプトは「クリエイティブコーディング1万時間の歩き方」
- 2024年にProcessingの構文のアウトプットを終え、2025年から作品制作開始(クリエイティブコーディングで作成した作品集)
目次
【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};
で色の調整をして完成。
最近覚えた、配列で色を調整する方法が楽でいい感じ。



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