2017-09-06 3 views
0

나는 코딩을 배우고 있으며 초보자입니다. 저는 현재 Processing (java) 스케치를 p5 (javascript) 스케치로 변환하여 첫 번째 웹 사이트에 넣으려고합니다.벡터 처리 구문을 p5 스케치로 변환

Processing 스케치에서 VectorArray 구문을 번역하는 데 문제가 있습니다. 이것은 처리 스케치에서 Vector입니다

(일) :

여기
for (int i = pts.size()-1; i >= 0; i --){ 
    PVector pt = (PVector)pts.get(i); 
...... 
PVector pt2 = (PVector)pts.get(j); 
     if (pt.dist(pt2) < 20){ 
...... 

내가 (작동하지 않는) P5

for (var i = pts.size()-1; i >= 0; i --){ 

    pt = p5.Vector.pts.get(i); 

........... 

    var pt2 = (PVector)pts.get(j); 

    if (pt.dist(pt2) < 20){ 
     line(pt.x, pt.y, pt2.x, pt2.y); 
    } 

} 

답변

0

당신은 shouldn '에서 번역하려고했는데 어떻게 줄 단위로 이동하고 구문을 번역하여 코드를 번역하려고 시도하십시오. 대신, 한 걸음 물러나서 프로그램을 영어으로 변환해야합니다. 그런 다음 그 영어를 가져 와서 언어로 구현하십시오. 그건 바보 같지만 영어는 알고리즘이라고 부릅니다.

그래서,이 같은 프로그램에 대한 설명이 있어야합니다.

은 "화면 주위에 튀는 원이 화면 가장자리에 닿으면, 그것은에 의해 튕겨해야 10 원 ... "

그 예일뿐입니다. 그런 다음 P5.js에서 구현하십시오.

대신 "이 배열 구문을 P5.js로 변환하는 방법"대신 "배열이 JavaScript에서 작동하는 방법"또는 "JavaScript에서 변수가 작동하는 방법"을 묻는 것이 좋습니다. 여기에서 tutorials을 읽으면 P5.js에서 알고리즘을 구현하는 방법을 알 수 있습니다.

그런 다음 특정 구문 오류가 발생하면 the JavaScript console에서 오류가 있는지 살펴보십시오. 우리에게 말하는 것은 그것이 효과가 없다는 것입니다. 어떤 오류가 발생하고 있습니까? 귀하의 MCVE은 어디에 있습니까?

모든 내용이 언급되었으므로 귀하의 구체적인 질문에 도움을 드리겠습니다.

PVector pt = (PVector)pts.get(i); 

이 줄은 그래서 모든 유형을 필요로 자바는 정적으로 입력되어 있기 때문에 pt라는 이름의 변수가 그것이 PVector에 캐스트 pts.get(i)에서 반환 무엇이든 그것을 가리키는를 선언한다 :의 원래 라인을 보자 .

pt = p5.Vector.pts.get(i); 

첫째을, 어디는 pt 변수를 선언 않았다

는 P5.js에서 일을하려고하는지에 있음을 비교? 둘째로 p5.Vector.pts은 무엇입니까? 이 구문은 의미가 없습니다. 자바 스크립트에서 변수와 배열이 어떻게 작동하는지 읽어야합니다.

마찬가지로,의 당신의 P5.js 코드에서이 줄을 살펴 보자 :

var pt2 = (PVector)pts.get(j); 

다시, 어디 pts는 선언?동적으로 입력되므로 자바 스크립트에서 아무 것도 캐스트 할 필요가 없습니다. 다시 말하지만 JavaScript에서 변수가 작동하는 방식에 대해 다시 읽어야합니다.

뻔뻔한 자기 승진 : JavaScript를 배우려는 처리 개발자 용 일련의 자습서를 작성했습니다 (here).

+0

안녕하세요. 도움을 주셔서 감사합니다. 아마 너무 느슨하게 '번역'이라는 단어를 사용했습니다. 실제로 코드 아카데미에서 자바 스크립트 과정을 끝내고 꽤 많은 시간 동안 Shafman의 온라인 비디오를 포함한 다양한 자습서에 저의 머리를 묻었습니다. 더 많이 나는 p5 스케치를 만드는 기초로 사용하고있는 스케치를 처리하고있다. 어쨌든,이 질문에 답하기 위해 전체 코드를 넣을 것입니다 ... –

+0

오, 감사합니다. 페이지를 참조 해 주셔서 감사합니다. 나는 그것에 대해 잘 알고 있다고 생각하지만, 지금 내가 무엇을 놓쳤는지를보기 위해 그것을 읽는다. :) –