LoginSignup
0
0

More than 5 years have passed since last update.

目次

  1. はじめに
  2. 導入
  3. とりあえず書いてみる
  4. 色の調整(map関数)
  5. 紙袋柄へ

はじめに

対象者

・プログラミングを始めてみたい
・趣味プログラマー(僕です)
・チームラボに感動した(僕です笑)

導入

基本的には他の記事を参照ください。
ATOM + p5xjs-autocomplete で入力
http://blog.livedoor.jp/reona396/archives/55571609.html

Webエディターで実行、デバッグ
https://editor.p5js.org/

が楽かな〜と思ったんですが、
アドバイスあれば下さい(笑)

とりあえず書いてみる

何を作ろうか

これを流し読みするとよいです。
https://www.amazon.co.jp/dp/B07DQHV9GX/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
マウスの座標で、色や形状を変えていく例が多く出てきますね。
同じコンセプトで作ってみましょう。

チェック柄

実は奥が深いチェック柄
https://thequalityclothing.com/types-of-plaid/
伊勢丹の紙袋も何度かリニューアルしているらしいです。
https://matome.naver.jp/odai/2141031017954780201

新しい伊勢丹の紙袋を考えてみましょう(伊勢丹の関係者の皆様、怒らないでください)。

コーディング

とりあえずは実行しましょう。
 ・マウスx座標:マスの大きさ
 ・マウスy座標:チェックの色
 ・q,wキー:背景の色

var bg_color; //背景色

function setup() {
  bg_color = 255; //背景色の初期設定
  createCanvas(600, 600);
  noStroke();
  colorMode(HSB,width,height,100);
}

function draw() {
  console.log(bg_color);
  var stepX = mouseX + 2;
  background(bg_color, 100, 100);
  fill(mouseY, 100, 100); //色の指定
  for(var gridX = 20; gridX < height; gridX += stepX){
    rect(gridX,0,20,height); //縦線を書く
    rect(0,gridX,width,20); //横線を書く
  }
}
function keyPressed() {
  if ((key == 'q') || (key == 'Q')) {
    bg_color += 20; //背景色の変更
  }
  if ((key == 'w') || (key == 'W')) {
    bg_color -= 20; //1背景色の変更
  }
}

スクリーンショット 2019-03-02 12.57.48.png

う〜ん、色の範囲狭くない???

色の調整(MAP関数)

MAP関数とはなんぞや
https://www.youtube.com/watch?v=nicMAoW6u1g
英語の勉強にw
まぁ実行してみましょう。

HSBの数値の指定は・・・?
最大:360
今、HSBのHの値はマウスのy座標から引用している・・・
y座標の最大値:600(キャンバスのサイズより)

これを調整するためMAP関数を使用する。

var bg_color; //背景色

function setup() {
  bg_color = 255; //背景色の初期設定
  createCanvas(600, 600);
  noStroke();
  colorMode(HSB,width,height,100);
}

function draw() {
  var sq_color = map(mouseY,0,600,0,360) //色の範囲の設定
  console.log(sq_color);
  var stepX = mouseX + 2;
  background(bg_color, 100, 100);
  fill(sq_color, 100, 100); //色の指定
  for(var gridX = 20; gridX < height; gridX += stepX){
    rect(gridX,0,20,height); //縦線を書く
    rect(0,gridX,width,20); //横線を書く
  }
}
function keyPressed() {
  if ((key == 'q') || (key == 'Q')) {
    bg_color += 20; //背景色の変更
  }
  if ((key == 'w') || (key == 'W')) {
    bg_color -= 20; //1背景色の変更
  }
}

色の範囲広がりましたね!

紙袋柄へ

続きは後日・・・

全体的にもう少し加筆します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0