가공시 골프 팁 대한 골프

누구나 골프 가공에 대한 골프 팁을 가지고 있습니까? 그것은 자바의 그래픽 확장이며 골프하기가 다소 어렵습니다.



답변

  • 애니메이션이 필요하지 않으면를 건너 뛰고 void draw()모든 것을에 넣을 수 있습니다 void setup().
  • 캔버스 크기를 초기화 할 필요가없는 경우가 있습니다 (100, 100). 기본적으로 캔버스가 초기화됩니다 .
  • 당신이 사용해야하는 경우 heightwidth코드에서, 대신 숫자 값을 사용하는 것이 일반적으로 짧습니다. 예를 들어, 크기의 캔버스를 (100, 100)사용하여 99교체 height하고 width당신에게 7 바이트를 저장할 수 있습니다.

답변

설정 메소드에서만 코드를 실행하는 경우 메소드 개요를 작성할 필요가 없습니다. 예를 들어 다음과 같이 쓸 수 있습니다.

rect(10,10,90,90);

대신에

void setup {
    rect(10,10,90,90);
}

다른 방법을 사용하지 않는 한 모든 것이 실행되기 전에 설정 방법에 배치됩니다.


답변

색상 (R, G, B)표기

16 진 색상

컬러 형식으로 처리가 매우 유연합니다.

fill(255,255,0); //16 bytes

다음과 같이 16 진 표기법을 사용하여 작성할 수 있습니다.

fill(#ffff00);   //14 bytes (2 bytes saved)

그레이 스케일

다음은 모든 빨강, 녹색 및 파랑 값이 동일한 경우 (흰색) 색상에 대한 특별한 사용법입니다.

fill(255,255,255); //18 bytes
fill(#ffffff);     //14 bytes
fill(255);         //10 bytes

세 가지 매개 변수는 모두 회색조 값을 포함하는 하나의 매개 변수 ( 0흑백에서 255흰색 으로)로 단축 할 수 있습니다 .

이것은 알파를 위해서도 확장 될 수 있습니다 :

fill(175,175,175,50); //translucent gray
fill(175,50);         //8 bytes shorter

둘 다 같은 색상을 의미하지만 후자의 방법은 8 바이트가 더 짧습니다.

알파

명백하지만, 색상 지정의 알파 매개 변수는 색상이 기본적으로 255(100 % 불투명) 의 알파 값이므로 선택 사항 입니다.

요약 : 색상 형식

가장 짧은 색상 형식을 사용하여 색상을 표현하십시오 (프로그램의 상황에 따라 불필요한 비트는 제외하십시오 (예 : 알파 또는 회색조)).

R: 빨강
G: 녹색
B: 파랑
A: 알파
g: 회색조

RRR,GGG,BBB
#RRGGBB
ggg
RRR,GGG,BBB,AAA
ggg,AAA


답변

약어 상수

처리에서 all-caps 키워드 중 하나 (예 : DIFFERENCE또는 TRIANGLE_FAN)를 사용하는 경우 해당 키워드 가 더 짧은 지 확인하십시오.

예를 들어, DIFFERENCE단지 인 int의이 사용하는 대신에 (32)와 동일한 것을 DIFFERENCE 여기에 , 내가 쓸 수있는 328 개 개의 문자를 저장.


답변

더 짧은 대안 void keyPressed(){}

void draw(){}void keyPressed(){foo;} //36 bytes
void draw(){if(key>0)foo;}           //26 bytes

이 업데이트 void draw(){}하려면 기본적으로 필요합니다 key. 프로그램 시작 이후 사용자가 키를 누르지 않은 경우 key값이 제공 0됩니다. 그것이 이상인지 0(즉, 사용자가 키를 눌렀 는지) 확인함으로써 , 우리는 골퍼 코드를 가지고 10 바이트를 절약합니다.


답변

하얀 #FFFFFF

관련 : 색상 표기

이것을 흰색으로 사용하는 대신 :

color(255)     //10 bytes

당신은 이것을 할 수 있습니다 :

color(-1)      //9 bytes

1 바이트를 저장하십시오.


답변

set ()을 사용하여 픽셀 설정 및 커밋

픽셀을 통해 픽셀 을 설정하는 것이 더 효율적입니다 .

pixels[0] = color(255)
updatePixels();

그러나, updatePixels()시나리오에 따라 x, y 위치를 픽셀 인덱스로 변환해야하는 인덱스가 필요합니다. CPU 효율성이 떨어지더라도 (각 호출이 전체 버퍼를 업데이트함에 따라) 일을 짧게 유지하기 위해 set () 은 픽셀을 설정하고 한 번의 호출에서 바로 버퍼링하도록합니다.

set(0,0,color(255));