2017-05-21 5 views
0

나는 타이포그래피 프로그램을 코딩 할 때 코딩 작업을 해왔고, 내가 원하는 방식으로 입력 키를 얻을 수없는 것 같습니다.처리하는 중에 Enter 키를 눌러 새 줄에 새 문자열을 시작 하시겠습니까?

Enter 키를 누를 때마다
String vtl = ""; 
float cursor; 
int vtly = 20; 

void setup(){ 
    size(800, 200); 
    textSize(15); 
    stroke(0); 
    fill(0); 
} 
void draw(){ 
    background(250); 
    cursor = textWidth(vtl); 
    line(cursor, vtly - 15, cursor, vtly); 
    text(vtl, 0, vtly); 
} 
void keyPressed(){ 
    if(textWidth(vtl + key) == width){ 
     vtly = vtly + 25; 
    } 
    if(key == BACKSPACE){ 
     if(vtl.length() > 0){ 
     vtl = vtl.substring(0, vtl.length() - 1); 
     } 
    }else if(textWidth(vtl + key) < width){ 
     vtl = vtl + key; 
    } 

    if(key == ENTER){ 
     vtly = vtly + 15; 
     vtl = "\n"; 
    } 
} 

, 전체 첫 번째 줄 삭제 : 여기 내 코드입니다. 이 문제를 어떻게 해결할 수 있습니까? 이 라인에서

+0

끝 부분에 "\ n"의 vtl 값을 할당합니다. 어떨까요? vtl = vtl + "\ n"; ? – Rikusor

+0

그건 작동하지 않습니다. 첫 번째 줄을 내리고 그 줄에서 약 3 줄을 입력하기 시작합니다. –

답변

0

봐 : 여기

vtl = "\n"; 

당신이 "\n"vtl을 설정하고, vtl의 이전 값을 버린다. 당신이 String의 끝에 줄 바꿈을 추가하려면 기존 값에 추가 할 수 있습니다로 단축 할 수

vtl = vtl + "\n"; 

: 그 후

vtl += "\n"; 

당신이있어 텍스트의 수직 배치에 대한 다른 문제가 있지만 이는 별개의 질문입니다.

+0

글쎄, 네가 나 한테 말하면, 너는 그걸 고치는 법을 말해 줄 수있을거야. –

+0

@I_Am_The_Ion_Man 우리는 여유 시간에 무료로 질문에 대답 할 수 있도록 자원하고 있습니다. 나는 당신이 당신의 질문에서 그것을 언급하지 않았기 때문에, 수직 배치에 대해 정말로 생각하기 시작하지 않았습니다. 나는 너에게 너의 자신에 그것을 파악하는 기회를주고 있었다. 그러나 당신이 무례하게 될 경우, 나는 어쨌든 다른 질문에 답하는 데 시간을 할애하고 있습니다. 좋은이. –