교재 : 비전공자를 위한 프로그래밍 입문 - 10. 인수가 있는 함수

 

리턴 값이 있는 함수

  • random함수
  • floor함수 : 소수점을 버려서 정수로 변환해주는 함수
  • map함수

 - 제1인수 “입력값”을 제2-3인수로 지정한 범위로부터 제4-5인수로 지정한 새 범위에 맞도록 변환합니다.

변환된 값(출력값)은 리턴값으로 함수와 바뀝니다.

- 마우스 입력의 값을 특정 범위에 변환할때 자주 사용

map(입력, 최소, 최대, 신규최소, 신규최대)

 

예시)

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

function draw() {
  background(102, 103, 171);
  fill(200);
  rect(200, 0, 100, height); // 입력범위를 진한 회색으로 표시

  let x = map(mouseX, 200, 300, 0, width); // 범위:200-300 → 새 범위:0-width
  console.log(x);
  fill(255, 127, 0);
  circle(x, height / 2, 50);
}

 

입력값(마우스포인터 위치)이 캔버스의 200-300범위를 나오면 원이 캔버스 밖으로 사라져 버리지만,

map함수의 제6인수에 true를 추가하면 밖으로 사라지지 않게 됩니다.

let x = map(mouseX, 200, 300, 0, width, true);

 

 

· 마우스 y값 따라 원 크기,색 변하는 도형 만들기

function setup() {
  createCanvas(720, 400);
  noStroke();
}

function draw() {
  background(0);
  
  
  let c = map(mouseY, 0, width, 0, 175); 
  let d = map(mouseY, 0, width, 40, 300); 
    fill(255, c, 0);
    ellipse(width/2, height/2, d, d);

}

 

'Frontend > JavaScript' 카테고리의 다른 글

[JavaScript] 기본  (1) 2024.06.05
[JavaScript] 간단한 기본 개념  (0) 2024.06.05
[JavaScript] 10. 인수가 있는 함수  (0) 2022.05.18
[JavaScript] 09. 함수  (0) 2022.05.18
[JavaScript] 07. 애니메이션  (0) 2022.05.18
복사했습니다!