메신저를 꺼집니다하지만 난 할 때 (창의 왼쪽) 화면이 꺼집니다 여기 내 코드입니다 : 여기그것은 이미지를 90도 회전을 시도 화면
에 대한 링크입니다 내 이미지 : http://imgur.com/gallery/pQ85Z
바로 지금 메신저 'r'을 누르면 회전 시키려고하지만이 후에는 화면의 가장자리에 맞을 때 회전해야합니다.
PImage head;
int fizzyX = 400;
int fizzyY = 50;
int movementX=0;
int movementY=0;
float x;
void setup() {
size(800,800);
background(255);
head = loadImage("Fizzy.PNG");
}
void collisionDetection() {
if (fizzyX == (750)) {
movementX=-1;
key = 'a';
}
}
void keyPressed() {
if (key == 'a' || key == 'A') {
movementX = -1;
movementY = 0;
}
if (key == 'd' || key == 'D') {
movementX = 1;
movementY = 0;
}
if (key == 'w' || key == 'W') {
movementX = 0;
movementY = -1;
}
if (key == 's' || key == 'S') {
movementX = 0;
movementY = 1;
}
if (key == 'r') {
x = PI/2;
}
}
void draw() {
rotate(x);
background(255);
imageMode(CENTER);
image(head,fizzyX,fizzyY);
fizzyX+=movementX;
fizzyY+=movementY;
keyPressed();
collisionDetection();
translate(width/2,height/2);
}
내가 필요한 것을 정확히 답을 주셔서 감사합니다,하지만 난 이해가 안 돼요 fizzyX와 Y의 값 대신 화면 왼쪽 상단에? –
@TimothyBolton 좌표가 ** 원점 **에 상대적이라는 것을 기억하십시오. translate()를 호출하면 원점이 fizzyX, fizzyY로 이동합니다. 그래서 우리가'100,100'에 무언가를 그렸을 때 모든 것은 원점에 상대적이기 때문에 사실상'fizzyX + 100, fizzyY + 100'이 될 것입니다. 그래서 'fizzyX, fizzyY'에 넣기 위해 뭔가를'0,0'에 그립니다. 말이 돼? –