p5.js에서 반응형 대응의 간단한 그림 앱



만들어 보았습니다.

놀이 방법:
  • 클릭도 아무것도하지 않고 마우스를 움직이면 무작위 창백한 색으로 원형이 그려집니다
  • 클릭하면서 마우스를 움직이면 튤립 형 꽃이 따뜻하고 황색의 무작위 색으로 그려집니다

  • 명세:
  • HTML 없음
  • CSS는 배경색 만
  • 그리기 자체는 p5.js가 자동으로 구조를 만들어주기 때문에 js의 기본 지식만으로 만들 수 있습니다
  • 원호를 쓰는 것은 웹 코딩에 별로 없기 때문에 튤립의 형태 만 조금 끼워졌습니다
  • '클릭하거나 or하지 않음'에서 '서클 그리기 or 튤립'의 그리기를 전환합니다
  • 예를 들면 이 스위치의 트리거를 손의 위치의 좌표, 연타의 속도, 방각 등을 취득해 조건 분기로 옮겨놓으면 또 다른 UX가 일어날 것이라고 생각합니다

  • CSS:
  • 배경 전용
  • 원하는대로 자신의 배경을 설치합시다
  • 덧붙여서 렌탈 서버라면 업데이트 누출 등으로 이미지가 없어지는 경우도 나오므로, Github의 issue나 Wiki에 이미지 창고로서 두어 두는 것도 영속성이 있어 좋네요. (어디까지나 테스트 용도이므로, 액세스가 많은 것은 자신의 서버에 둡시다)
  • body {
     background: linear-gradient(-45deg, rgba(120,20,80,.5), rgba(35,95,228,.4)),url(https://git.io/fjsnV) center center / cover no-repeat;
    }
    

    javaScript:
  • 모든 행에 대해 설명하고 있으므로 관심이 있으면 참조하십시오
  • /*
    p5.jsを読み込んでおく => CodePenでは左上の歯車マークから設置出来ます
    CodePenでjs新規設置する時は、Searchに「p5」っていれたら自動で検索結果が出てきます
    => 今回設置のバージョン https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js
    */
    
    function setup() {
     //画面いっぱいにカンバスエリアを作製する
     createCanvas(windowWidth, windowHeight);
     // カンバス基準値を一応中央に
     rectMode(CENTER);
     // 背景を黒に => 背景はCSS側に任せた
     // background(0);
    }
    
    function draw() {
     // マウスが押された状態であるか無いかのコンソール表示
     console.log(mouseIsPressed);
     if (mouseIsPressed) {
      // もし マウスを押したら
      // 黄色を出す。cssのrgbaと同じ。最後は透明度、0−100の範囲
      fill(random(250, 255), random(0, 255), 0, 80);
      // 円の大きさ
      // 円弧の形を作る
      arc(mouseX, mouseY, 50, 50, radians(-45), radians(235));
      // ellipse(mouseX, mouseY, random(20, 50), random(20, 50));
      // 線の太さ。円の線は無し
      noStroke();
      // 描画速度 遅め
      frameRate(15);
     } else {
      // もし マウスを押さなければ、
      //ランダムにcssのrgbaに値する、rgbを最低値150と最高値255の範囲で出す
      fill(random(150, 255), random(150, 255), random(150, 255), 70);
      // 円の大きさ
      ellipse(mouseX, mouseY, 120, 120);
      noStroke();
      // 描画速度 早め
      frameRate(25);
     }
    }
    
    // 画面がリサイズされた時はカンバスもリサイズさせる
    function windowResized() {
     resizeCanvas(windowWidth, windowHeight);
    }
    
    

    참조:
    p5.js 본가 참조
    htps // p5js. rg/레후에렌세/#/p5/

    구현 코드:
    htps : // 코데펜. 이오 / 아 gdg / 펜 / ぇ QWgW? 에아와 rs=0110

    See the Pen P5 Draw Canvas by Asagiri ( @agdg )
    on CodePen.

    좋은 웹페이지 즐겨찾기