처리 중 탁구를 만들고 싶습니다. 그러나 볼의 움직임은 부드럽지 않았습니다. 나는 프레임 속도를 바꾸고 공의 속도를 줄이려고 시도했지만, 그 다음에 이동 속도는 일정하지 않은 것처럼 보인다. 이것이 성능 문제 일 수 있습니까? 잘못된 게임을하고 있습니까, 아니면 간단한 게임을 처리하는 것이 맞지 않을 수 있습니까? (내 목표는 processing.js를 시험해보고 플러그인없이 실행되는 게임을 만드는 것이었다.) 여기 내 코드는 다음과 같습니다.탁구 동작이 부드럽 지 않음
// Colorset
color scrBG;
color bastards;
// Border for the Paddle
int border;
// The Paddle
int padWid;
int padHei;
float padX;
float padY;
// The Ball
float ballX;
float ballY;
int ballRad;
int speed;
float velX;
float velY;
boolean playing = false;
void setup()
{
border = 5;
scrBG = #EEEEEE;
bastards = #FFF0EB;
padWid = 80;
padHei = 10;
ballRad = 15;
speed = 5;
velX = velY = speed;
size(800, 600);
background(scrBG);
noStroke();
noCursor();
//frameRate(100);
smooth();
}
void draw()
{
background(bastards);drawPaddle();
drawBall();
}
void drawBall()
{
if(!playing)
{
ballX = padX+padWid/2;
ballY = height-border-padHei-ballRad/2-2;
}
else
{
if(ballY > height)
{
ballOut();
}
if(ballY > padY && ballX < padX + padWid && ballX > padX)
{
velY = -velY;
ballY = padY-ballRad-1;
}
if(ballX < ballRad)
{
velX = -velX;
ballX = ballRad+1;
}
if(ballX > width-ballRad)
{
velX = -velX;
ballX = width-ballRad-1;
}
if(ballY < ballRad)
{
velY = -velY;
ballY = ballRad+1;
}
ballY += velY;
ballX += velX;
}
fill(0);
ellipse(ballX, ballY, ballRad*2, ballRad*2);
}
void drawPaddle()
{
padX = constrain(mouseX, border, width-padWid-border);
padY = height-padHei-border;
fill(0);
rect(padX, padY, padWid, padHei);
}
void startLevel()
{
playing = true;
}
void resetLevel()
{
playing = false;
}
void ballOut()
{
playing = false;
}
void mouseClicked()
{
if(playing)
{
resetLevel();
}
else
{
startLevel();
}
}
응답 해 주셔서 감사합니다. 보시다시피 높은 프레임 속도는 주석 처리됩니다. 방금 테스트 했어. 나는 모든 것을 위해 수레를 사용했다. 그것은 볼의 움직임과 관련이있다. 나는 모든 것을 플로트로 만들려고했지만 아무런 효과가 없다. 그냥 분명히 : 큰 문제는 없으며, 나는 그 운동이 완전히 일정하지 않다고 생각합니다. –
frameRate를 주석 처리하면 스크립트는 컴퓨터가 빠르게 실행됩니다. 따라서 높은 frameRate를 주석 처리하면 실제로 100FPS보다 빠르게 실행될 수 있습니다. CPU 사용량을 확인하십시오. 나는 맥을 사용하고 나는 처리가 이상하게 무거워 질 수 있다는 것을 알아 냈다. 내가 그걸봤을 때 나는이 문제가있는 유일한 사람이 아니라는 것을 발견했다. –
나는 그것을 역시했다. 그러나 공 운동 ist는 아직도 흔들린다. 너도 그걸 볼 수 있니? (나는 윈도우를 사용하고 있는데, CPU 사용은 문제가되어야한다고 생각한다.) –