Processing controlP5로 GUI 컨트롤러
10011 단어 GUIprocessinglibrarycontroller
이번 자주 사용하는 슬라이더와 버튼에 대해 적어 둡니다.
향후 늘릴지도, 늘지 않을지도,라고 하는 곳.
Processing3을 사용했습니다.
ControlP5를 라이브러리에 추가
먼저 라이브러리를 로드합니다.
메뉴바의
Sketch > ImportLibrary > addLibrary
에서 LibrayManager가 열리므로 ControlP5를 찾아 설치합니다.
다시 Sketch>ImportLibrary를 보면 ControlP5가 표시되므로 선택하면 skech 창에 import controlP5.*;
가 표시됩니다.
참고로 ControlP5는 클래스로 정의되며 controlP5.Controller 클래스의 하위 클래스로 구현됩니다.
슬라이더
슬라이더를 좌우로 움직이면 배경색이 변경되는 코드
controlP5_slider.pdeimport controlP5.*;
ControlP5 slider;
int sliderValue;
void setup() {
int myColor = color(255, 0, 0);
size(500, 500);
slider = new ControlP5(this);
slider.addSlider("sliderValue")
//.setLabel("bbb")
.setRange(0, 100)//0~100の間
.setValue(25)//初期値
.setPosition(50, 40)//位置
.setSize(200, 20)//大きさ
// まとめても書ける
// slider.addSlider(name, minimum, maximum, default value (float), x, y, width, height)
//.setColorActive(myColor)//hover
//.setColorBackground(myColor) //スライダの背景色 引数はintとかcolorとか
//.setColorCaptionLabel(myColor) //キャプションラベルの色
//.setColorForeground(myColor) //スライダの色
//.setColorValueLabel(myColor) //現在の数値の色
//.setSliderMode(Slider.FIX)//スライダーの形 Slider.FLEXIBLEだと逆三角形
.setNumberOfTickMarks(5);//Rangeを(引数の数-1)で割った値が1メモリの値
//スライダーの現在値の表示位置
slider.getController("sliderValue")
.getValueLabel()
.align(ControlP5.RIGHT, ControlP5.BOTTOM_OUTSIDE)//位置、外側の右寄せ
.setPaddingX(-20);//padding値をとる alineで設定したRIGHTからのpadding
}
void draw() {
background(sliderValue);
}
해설
슬라이더 추가addSlider(string)
문자열로 슬라이더의 ID 이름을 지정합니다.
슬라이더 라벨setLabel(string)
라벨이 없으면 addSlider 일 때 설정한 ID 이름이 표시됩니다.
슬라이더 위치setPosition(x,y)
슬라이더의 크기setSize(width,height)
슬라이더에 메모리 켜기.setNumberOfTickMarks()
인수가 메모리 수입니다.
Range를 (인수의 수-1)로 나눈 값이 1메모리의 값이 된다.
메모리를 붙이면, 1 메모리씩 밖에 증가할 수 없다.
디폴트치가 메모리와는 관계없는 중간 정도의 값이라면, 올바른 수치가 표시되지 않으므로 주의.
버튼
버튼을 누르면 빨간색 사각형이 그려지는 코드
controlP5_button.pdeimport controlP5.*;
ControlP5 Button;
int redcolor;
color C1;
void setup() {
size(500, 500);
C1 = redcolor = color(255, 0, 0);
Button = new ControlP5(this);
Button.addButton("red")
.setLabel("Red_Button")//テキスト
.setPosition(50, 40)
.setSize(100, 40)
//まとめてもかける
//slider.addSlider(name, value (float), x, y, width, height)
//.setColorActive(C1) //押したときの色 引数はintとかcolorとか
//.setColorBackground(C1) //通常時の色
//.setColorForeground(recolor) //hoverしたときの色
.setColorCaptionLabel(redcolor); //テキストの色
}
void draw() {
}
void red() {
fill(255, 0, 0);
rect(0, 0, width, height/3);
}
/*
void red(){}ではなく、下のように書いても同じ。
void controlEvent(ControlEvent theEvent){
if(theEvent.getController().getName() == "red"){
fill(255,0,0);
rect(0,0,width,height/3);
}
}
*/
해설
버튼을 클릭하면 이벤트가 발생합니다.
방법은 슬라이더와 거의 같기 때문에 할애.
참고
라이브러리를 설치하면 libraries > controlP5 디렉토리에 샘플과 참조도 함께 다운로드됩니다.
그 외 공식 사이트에서 샘플을 볼 수 있으며, Processing 메뉴 > 도움말 > 라이브러리 참조에서 참조를 볼 수도 있습니다.
controlP5
Processing ControlP5 library example 1 : user interface
【Processing】controlP5의 사용법
「Processing GUI 프로그래밍」 아카마 세기 저 공학사
Reference
이 문제에 관하여(Processing controlP5로 GUI 컨트롤러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/akspect/items/6a574e12181c00125d40
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
슬라이더를 좌우로 움직이면 배경색이 변경되는 코드
controlP5_slider.pde
import controlP5.*;
ControlP5 slider;
int sliderValue;
void setup() {
int myColor = color(255, 0, 0);
size(500, 500);
slider = new ControlP5(this);
slider.addSlider("sliderValue")
//.setLabel("bbb")
.setRange(0, 100)//0~100の間
.setValue(25)//初期値
.setPosition(50, 40)//位置
.setSize(200, 20)//大きさ
// まとめても書ける
// slider.addSlider(name, minimum, maximum, default value (float), x, y, width, height)
//.setColorActive(myColor)//hover
//.setColorBackground(myColor) //スライダの背景色 引数はintとかcolorとか
//.setColorCaptionLabel(myColor) //キャプションラベルの色
//.setColorForeground(myColor) //スライダの色
//.setColorValueLabel(myColor) //現在の数値の色
//.setSliderMode(Slider.FIX)//スライダーの形 Slider.FLEXIBLEだと逆三角形
.setNumberOfTickMarks(5);//Rangeを(引数の数-1)で割った値が1メモリの値
//スライダーの現在値の表示位置
slider.getController("sliderValue")
.getValueLabel()
.align(ControlP5.RIGHT, ControlP5.BOTTOM_OUTSIDE)//位置、外側の右寄せ
.setPaddingX(-20);//padding値をとる alineで設定したRIGHTからのpadding
}
void draw() {
background(sliderValue);
}
해설
슬라이더 추가
addSlider(string)
문자열로 슬라이더의 ID 이름을 지정합니다.슬라이더 라벨
setLabel(string)
라벨이 없으면 addSlider 일 때 설정한 ID 이름이 표시됩니다.슬라이더 위치
setPosition(x,y)
슬라이더의 크기
setSize(width,height)
슬라이더에 메모리 켜기
.setNumberOfTickMarks()
인수가 메모리 수입니다.Range를 (인수의 수-1)로 나눈 값이 1메모리의 값이 된다.
메모리를 붙이면, 1 메모리씩 밖에 증가할 수 없다.
디폴트치가 메모리와는 관계없는 중간 정도의 값이라면, 올바른 수치가 표시되지 않으므로 주의.
버튼
버튼을 누르면 빨간색 사각형이 그려지는 코드
controlP5_button.pdeimport controlP5.*;
ControlP5 Button;
int redcolor;
color C1;
void setup() {
size(500, 500);
C1 = redcolor = color(255, 0, 0);
Button = new ControlP5(this);
Button.addButton("red")
.setLabel("Red_Button")//テキスト
.setPosition(50, 40)
.setSize(100, 40)
//まとめてもかける
//slider.addSlider(name, value (float), x, y, width, height)
//.setColorActive(C1) //押したときの色 引数はintとかcolorとか
//.setColorBackground(C1) //通常時の色
//.setColorForeground(recolor) //hoverしたときの色
.setColorCaptionLabel(redcolor); //テキストの色
}
void draw() {
}
void red() {
fill(255, 0, 0);
rect(0, 0, width, height/3);
}
/*
void red(){}ではなく、下のように書いても同じ。
void controlEvent(ControlEvent theEvent){
if(theEvent.getController().getName() == "red"){
fill(255,0,0);
rect(0,0,width,height/3);
}
}
*/
해설
버튼을 클릭하면 이벤트가 발생합니다.
방법은 슬라이더와 거의 같기 때문에 할애.
참고
라이브러리를 설치하면 libraries > controlP5 디렉토리에 샘플과 참조도 함께 다운로드됩니다.
그 외 공식 사이트에서 샘플을 볼 수 있으며, Processing 메뉴 > 도움말 > 라이브러리 참조에서 참조를 볼 수도 있습니다.
controlP5
Processing ControlP5 library example 1 : user interface
【Processing】controlP5의 사용법
「Processing GUI 프로그래밍」 아카마 세기 저 공학사
Reference
이 문제에 관하여(Processing controlP5로 GUI 컨트롤러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/akspect/items/6a574e12181c00125d40
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import controlP5.*;
ControlP5 Button;
int redcolor;
color C1;
void setup() {
size(500, 500);
C1 = redcolor = color(255, 0, 0);
Button = new ControlP5(this);
Button.addButton("red")
.setLabel("Red_Button")//テキスト
.setPosition(50, 40)
.setSize(100, 40)
//まとめてもかける
//slider.addSlider(name, value (float), x, y, width, height)
//.setColorActive(C1) //押したときの色 引数はintとかcolorとか
//.setColorBackground(C1) //通常時の色
//.setColorForeground(recolor) //hoverしたときの色
.setColorCaptionLabel(redcolor); //テキストの色
}
void draw() {
}
void red() {
fill(255, 0, 0);
rect(0, 0, width, height/3);
}
/*
void red(){}ではなく、下のように書いても同じ。
void controlEvent(ControlEvent theEvent){
if(theEvent.getController().getName() == "red"){
fill(255,0,0);
rect(0,0,width,height/3);
}
}
*/
라이브러리를 설치하면 libraries > controlP5 디렉토리에 샘플과 참조도 함께 다운로드됩니다.
그 외 공식 사이트에서 샘플을 볼 수 있으며, Processing 메뉴 > 도움말 > 라이브러리 참조에서 참조를 볼 수도 있습니다.
controlP5
Processing ControlP5 library example 1 : user interface
【Processing】controlP5의 사용법
「Processing GUI 프로그래밍」 아카마 세기 저 공학사
Reference
이 문제에 관하여(Processing controlP5로 GUI 컨트롤러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akspect/items/6a574e12181c00125d40텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)