예제 미리보기

수업 영상

html 기본 형식, p5.js 불러오기

HTML
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <!-- 웹에 공유되어있는 라이브러리 불러오기 -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.8/p5.js"></script>
        <script>
            // 여기에 입력
        </script>
    </head>
    <body>
    </body>
</html>

도형그리기

사각형 그리기

JavaScript
function setup(){
    createCanvas(500, 500);
    rect(100, 100, 200, 200);
}

원 그리기

JavaScript
function setup(){
    createCanvas(500, 500);
    ellipse(100, 100, 200, 200);
}

변수

변수 선언 방법

JavaScript
var 변수이름;

변수 정의하기 (변수에 값 넣기)

JavaScript
var 변수이름 = 값;
        
// 또는

var 변수이름;
변수이름 = 값;

특정영역 이벤트

사각형 영역

JavaScript
var rectX = 200;
var rectY = 200;
var rectSize = 100;

function setup(){
    createCanvas(500, 500);
}

function draw(){
    background(255);
    
    if( mouseX > rectX && mouseX < rectX+rectSize && mouseY > rectY && mouseY < rectY+rectSize ){
        fill(255, 0, 0);
    }
    else{
        fill(255);
    }
    
    rect(rectX, rectY, rectSize, rectSize);
}

원 영역

JavaScript
var circleX = 250;
var circleY = 250;
var circleSize = 100;

function setup(){
    createCanvas(500, 500);
}

function draw(){
    background(255);
    
    // 마우스와 원 중심의 거리가 반지름보다 작을때 (원의 경계 안쪽에 들어왔을 때)
    if( dist(mouseX, mouseY, circleX, circleY) < circleSize/2 ){
        fill(255, 0, 0);
    }
    else{
        fill(255);
    }
    
    ellipse(circleX, circleY, circleSize, circleSize);
}

마우스 이벤트

mouseIsPressed 변수

JavaScript
function setup(){
    createCanvas(500, 500);
}

function draw(){
    // 평상시에는 흰색 배경, 마우스가 눌리면 검은색 배경이 칠해진다.
    if( mouseIsPressed ){
        background(0);
    }
    else{
        background(255);
    }
}

Mouse Pressed 함수

JavaScript
function setup(){
    createCanvas(500, 500);
}

function draw(){}

function mousePressed(){
    // 마우스를 누른 순간 원이 그려진다.
    ellipse(mouseX, mouseY, 50, 50);
}

Mouse Released 함수

JavaScript
function setup(){
    createCanvas(500, 500);
}

function draw(){}

function mouseReleased(){
    // 마우스에서 손가락을 땐 순간 사각형이 그려진다.
    rect(mouseX, mouseY, 50, 50);
}

요소 위치 옮기기

JavaScript
var x = 250;
var y = 250;
var circleSize = 100;
var dragging = false;

function setup(){
    createCanvas(500, 500);
}

function draw(){
    background(235);
    if(dragging){
        x = x + (mouseX - pmouseX);
        y = y + (mouseY - pmouseY);
    }
    ellipse(x, y, circleSize, circleSize);
}

function mousePressed(){
    if( dist(mouseX, mouseY, x, y) < circleSize/2 ){
        dragging = true;
    }
}

function mouseReleased(){
    dragging = false;
}