2015-09-21 101 views
0

我想獲得一個功能,當你按下回車鍵,你開始遊戲,但它不工作。沒有錯誤。 我按照教程。按[enter]開始遊戲,沒有錯誤

這裏是我的代碼:如果按Enter按鈕,在它運行的瞬間按下

import greenfoot.*; 

/** 
* Write a description of class Menu here. 
* 
* @author (your name) 
* @version (a version number or a date) 
*/ 
public class Menu extends World 
{ 

    /** 
    * Constructor for objects of class Menu. 
    * 
    */ 
    public Menu() 
    {  
     // Create a new world with 600x400 cells with a cell size of 1x1 pixels. 
     super(800, 500, 1); 

     prepare(); 
    } 

    public void start() 
    { 
     { 
      if(Greenfoot.isKeyDown("ENTER")) 
      { 
       MinionWorld MinionWorld= new MinionWorld(); 
       Greenfoot.setWorld(MinionWorld); 
      } 
     } 
    } 

    /** 
    * Prepare the world for the start of the program. That is: create the initial 
    * objects and add them to the world. 
    */ 
    private void prepare() 
    { 
     Controls controls = new Controls(); 
     addObject(controls, 300, 100); 
     controls.setLocation(175, 50); 
    } 
} 
+1

您沒有提供的相關性,如'Greenfoot','MinionWorld'和'Controls'。 – Jagger

+0

你使用GUI還是隻使用命令行? –

+0

請添加「greenfoot」作爲標籤。同時在下面檢查我的答案。 – mirmdasif

回答

0

您的代碼檢查。您應該使用KeyListener來捕捉「Enter」按下的事件。如果你沒有使用GUI你可以使用掃描儀並等待用戶按Enter鍵:

Scanner scanner = new Scanner(System.in); 
scanner.nextLine(); 

這將等待,直到用戶按Enter鍵。

+0

我是新來的,所以我不知道你的意思? :) –

+0

你使用GUI還是隻有命令行,在這種情況下,我編輯了我的回覆。 –

+0

我應該只是將關於掃描儀的代碼添加到我的世界嗎?我還應該讓一個名叫Scanner的演員與其他代碼一起? –

0
if(Greenfoot.isKeyDown("ENTER")) 

更改此行

if(Greenfoot.isKeyDown("enter")) 

主要名稱輸入爲 「輸入」 的所有小盤股。

+0

我認爲這是正確的答案。 「enter」是正確的字符串,而不是「Enter」 – TheLostMind

+0

我已經更改了該行,但它仍然不起作用 –

+0

此方法檢查Enter在運行時是否處於關閉狀態。如果用戶按Enter鍵,它將不會執行任何操作。 –

0

現在使用您的實際代碼,發生的情況是當您調用start()時,它會在您調用start()時檢查ONCE,如果用戶按下Enter鍵。

你可以做的一件事是把你的start方法的代碼放在一個while循環中,這將檢查用戶是否一直按下輸入,當條件滿足時,你可以打破while循環結束啓動方法。

下面是代碼的示例:

public void start() 
{ 
    while(true){ 
     if(Greenfoot.isKeyDown("ENTER")) 
     { 
      MinionWorld MinionWorld= new MinionWorld(); 
      Greenfoot.setWorld(MinionWorld); 
      break; // Ends the loop 
     } 
    } 
}