Processing.js를 사용해보기
6283 단어 processingProcessing_js루비Rails4
이름도 processing.js라는 javascript 라이브러리입니다.
하지만 유감스럽게도 processing의 코드를 canvas로 바꾸어 출력하는 것만 싶고 canvas로 할 수 없는 것은 processing.js를 사용해도 할 수 없는 것 같습니다.
processing.js는 Processing 공식 사이트에서 다운로드할 수 있습니다.
h tp // p 로세신 gjs. 오 rg / 도 w 응 아 d /
다음은 js 파일을 읽고 processing을 실행하는 샘플 html입니다.
sample.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="processing.min.js"></script>
<script>
var Pjs = new Array(1); // 拡張させて同一ページでの複数起動が可能なようにあえて配列にしました。
function stop(num){ // 動作を止めるメソッド
if (Pjs[num]) Pjs[num].exit();
}
function run(num){ // processingを動作させるメソッド
stop(num);
var canvas = document.getElementById('canvas'+String(num));
var code = document.getElementsByName('source_code')[0].value;
try{
Pjs[num] = new Processing(canvas, code);
}catch(e){
alert(e);
}
}
</script>
</head>
<body>
<canvas id="canvas0" width="320px" height="320px"></canvas>
<textarea id="editor" rows=25 cols=80 name="source_code">
// ここにProcessingのソースコードを書く
void setup(){
size(500,500);
background(#ff00bb);
frameRate(10);
}
void draw(){
int l= random(10,100);
int x=random(0,500);
int y=random(0,500);
int r=random(0,255);
int g=random(0,255);
int b=random(0,255);
fill(r,g,b);
stroke(r,g,b);
ellipse(x,y,l,l);
}
</textarea><br>
<button onclick="run(0)">Run</button>
<button onclick="stop(0)">Stop</button>
</body>
</html>
이것을 사용해, Processing의 작품을 투고할 수 있는 게시판 「Processing content」를 만들어 보았습니다. 이제 보통 게시판과 정확히 같은 요령으로 만들 수 있습니다.
다음은 Processing Contest URL입니다.
htps : // Gthty-was rs-75922. 어리석은 p. 코m/
또 이 사이트의 개선점으로서는
1. 현재 RDBMS에 Processing의 긴 코드를 그대로 넣고 있다는 상태이기 때문에 조만간 개선시키고 싶다고 생각하고 있습니다.
2. 한꺼번에 Processing 의 프로그램을 움직이면 동작이 무거워지므로 javascript 측에서 움직일 수 있는 작품의 개수를 제한한다. (이제 바로 할 수 있을 것 같은 느낌이・・・)
역시 실력이 부족한 탓인지 여러가지 곳에서 가바가바라고 느끼네요・・・
앞으로도 다양한 기술을 착용하는 등 매일 정진하고 싶습니다.
Reference
이 문제에 관하여(Processing.js를 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TakutoOooka/items/df71e7e1858e7d69a8b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)