3.3 처리에 문제가 있습니다. 저는 성운에서 적색 거성까지 별의 탄생과 생애주기를 시뮬레이션하기위한 일종의 성운 시뮬레이터를 시작하고 있습니다. 지금까지 두 개의 클래스를 만들었습니다. 각 개별 가스 입자에 대한 가스와 입자 모음을 참조하는 성운입니다. 매번 동일한 결과로 편집기에 다음 코드를 입력했습니다. 'Class "Nebula"does not exist.' 대폭 단순화 된 내 코드는 다음과 같습니다.
가스:
class Gas {
/* variables, constructor, etc. */
void applyGravity(Nebula n) {
/* code to apply force of gravity of
the nebula to the particle */
}
}
성운:
class Nebula {
ArrayList<Gas> particles; // array of particles
/* variables, constructor, etc. */
}
이상하게도 Nebula 클래스에서 'Class "Gas"가 존재하지 않는다'는 오류가 발생하지 않지만 Gas 클래스에서 'Class "Nebula"가 존재하지 않습니다 "라는 오류가 발생합니다.
파일을 종료했다가 다시 열고 Processing을 다시 설치해 보았습니다. 어떤 도움이라도 대단히 감사하겠습니다.
기본적으로 Processing 편집기는 두 가지 유형의 코드를 처리 할 수 있습니다. 첫 번째 유형은 다음과 같은 기본 함수 호출 목록입니다.
size(500, 200);
background(0);
fill(255, 0, 0);
ellipse(width/2, height/2, width, height);
이러한 유형의 코드를 사용하면 Processing은 단순히 한 번에 하나씩 명령을 실행합니다.
두 번째 유형의 코드는 다음과 같이 함수 정의가있는 "실제"프로그램입니다.
void setup(){
size(500, 200);
}
void draw(){
background(0);
fill(255, 0, 0);
ellipse(width/2, height/2, width, height);
}
이러한 유형의 코드를 사용하면 Processing setup()
은 처음에 함수를 한 번 호출 한 다음 draw()
초당 60 번 함수 를 호출합니다 .
그러나 두 가지 유형을 혼합하는 코드는 가질 수 없습니다 .
size(500, 200);
void draw(){
background(0);
fill(255, 0, 0);
ellipse(width/2, height/2, width, height);
}
size()
함수가 함수 안에 없기 때문에 컴파일러 오류가 발생 합니다!
코드에서 진행되는 작업은 Processing이 스케치 수준 함수를 정의하지 않았 음을 확인하고이를 첫 번째 코드 유형으로 처리하려고합니다. 그러나 두 번째 유형의 코드에서만 유효한 클래스 정의가 표시됩니다. 이것이 오류가 발생하는 이유입니다.
문제를 해결하려면 코드에 setup()
및 / 또는 draw()
함수를 정의하기 만하면 Processing이 이것이 "실제"프로그램임을 알 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다