2017-04-19 1 views
0

기능하도록 이동하여 두 이미지 버튼 menuStart 및 MENUEXIT 가지 menuStart.png 및 menuExit.png 생성 :처리 - mousePress 이미지 I 넣은

화상 (menuStart, 250, 350, 100, 42);

image (menuExit, 450, 345, 110, 45);

내가 한 일 : 나는 나의 페이지를 단계별로 설정했다. 1 단계는 메뉴, 2 단계는 시작 화면 3 단계는 선택 난이도 화면 + 게임, 4 단계는 종료 화면, 5 단계는 게임 종료입니다. 사용자가 스테이지 1에서 menuStart 버튼을 선택하면 스테이지 1에서 menuExit 버튼을 선택하도록합니다.

코드 : 나는 mousePressed를 구현했지만 이미지 매개 변수에 mousePressed의 매개 변수를 설정하는 방법을 모른다. 어떻게 설정해야합니까?

코드 :

void doMenu() { 
    // Stage 1 Start -- MENU 
    if (stage == 1) { 
    textFont(title); 
    text("Game", 150, 200); 
    textFont(subtitle); 
    image(menuStart, 250, 350, 100, 42); 
    image(menuExit, 450, 345, 110, 45); 
    mousePressed(); 

    if(mousePressed == true) { 
     stage = 2; 
    } 
    } 
    // Stage 2 START 
    if (stage == 2) { 
    background(255); 
    startScreen = loadImage("start.png"); 
    image(startScreen, 0, 0, 800, 500); 

    if(mousePressed == true) { // true -->start 
     stage = 3; // go-to stage 3 
    } 
    /* else if(mousePressed == exit && stage != 2 { // exit 
     stage = 5; // go-to exit 
    } 
    */ 
    } 
    if(stage == 3) { 
    background(255); 
    startScreen = loadImage("start.png"); 
    image(startScreen, 0, 0, 800, 500); 
    text("Press N for Normal or H for Hard", 200, 375); 

    if(mousePressed == true) { // true --> hard 
     hard = true; 
     normal = false; 
     startMenu = false; 
    } 
    /* 
    else if(mousePressed == normal) { // normal 
     hard = false; 
     normal = true; 
     startMenu = false; 
    } 
    */ 
    /* 
    if(mousePressed == true) { // easy 
     hard = false; 
     normal = true; 
     startMenu = false; 
    } 
    */ 
    } 
    // Stage 4 EXIT 
    if (stage == 4) { 
    background(0); 
    exitScreen = loadImage("exit.jpg"); 
    image(exitScreen, 0, 0, 800, 400); 
    textFont(subtitle); 
    text("Press X to Exit", 300, 375); 
    if(mousePressed == true) { 
     stage = 5; 
    } 
    } 
    if(stage == 5) { 
    exit(); 
    } 
} 

답변

0

mousePressed 변수는 당신이 설명하고있는 방식으로 작동하지 않습니다. 마우스를 누를 때 true을 저장하는 변수는 boolean이고, 그렇지 않은 경우 false입니다. 클릭 한 항목에 대한 정보가 없습니다.

클릭 한 내용을 확인하려면 커서가 버튼 안에 있는지 확인하려면 mouseXmouseY 변수와 if 문을 사용해야합니다. 간단한 예제는 다음과 같습니다.

if(mouseX > buttonX && mouseX < buttonX + buttonWidth && mouseY > buttonY && mouseY < buttonY + buttonHeight){ 
    //mouse is inside button 
} 

마우스를 누른 상태에서 마우스가 버튼 안에 있으면 버튼이 눌려집니다. 이 작업을 확인하는 중첩 if 문을 사용하거나 mousePressed() 기능을 사용할 수 있습니다

void mousePressed(){ 
    if(mouseX > buttonX && mouseX < buttonX + buttonWidth && mouseY > buttonY && mouseY < buttonY + buttonHeight){ 
     //mouse is clicking button 
    } 
} 

뻔뻔 자기 홍보 : here 처리에 사용 입력을 얻는에 대한 자습서입니다.