2014-06-10 91 views
-1
package partisan; 

import java.awt.image.BufferedImage; 
import java.io.IOException; 
import javax.imageio.ImageIO; 

public class SpriteSheet 
{ 
    private String path; 
    private final int SIZE; 
    public int[] pixels; 
    private SpriteSheet sheet; 

    public static Sprite space = new Sprite(16, 0, 0, null); 

    public SpriteSheet(String path, int size) 
    { 
     this.path = path; 
     SIZE = size; 
     pixels =new int[SIZE * SIZE]; 
     load(); 
    } 

    private void load() 
    { 
     try 
     { 
      BufferedImage image = ImageIO.read(SpriteSheet.class.getResource(path)); 
      int w = image.getWidth(); 
      int h = image.getHeight(); 
      image.getRGB(0, 0, w, h, pixels, 0, w); 
     } catch (IOException e) 
      { 
     e.printStackTrace(); 
      } 
    } 
} 

所以錯誤發生在「公共靜態空間+新的雪碧(16,0,0,空)」行。 我基本上只是遵循YouTube上的教程,而且我已經檢查了我的代碼,並且與他的相匹配。他的作品和我的作品沒有任何解釋?爲什麼我得到這個Java錯誤:「無法找到符號」?

p.s.很抱歉,如果這件事太過卑鄙,我對Java並不擅長,所以我總是犯這樣的錯誤。也請原諒我的英語,因爲我來自歐盟。

+1

哪裏有'Sprite'構造函數代碼? –

+1

請注意(和發佈)*確切*錯誤消息。 – user2864740

+0

你好,歡迎來到StackOverflow。請花一些時間閱讀幫助頁面,特別是名爲[我可以問什麼主題?](http://stackoverflow.com/help/on-topic)和[我應該避免提出什麼類型的問題? ](http://stackoverflow.com/help/dont-ask)。更重要的是,請閱讀[Stack Overflow問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)。您可能還想了解[SSCCE](http://www.sscce.org/)是什麼。 – JamesENL

回答

0

Cannot find symbol意味着你有一個你聲明的類/對象類型,編譯器不知道在哪裏尋找類。該類必須位於同一個包中,或者必須導入。

當你這樣做:

import some.pkge.MyClass; 

它會告訴編譯器,任何類型的MyClass將你導入的特定類的。您還可以使用它的完全合格的名稱代碼:

some.pkge.MyClass example = new some.pkge.MyClass(); 

因此,對於特定的問題,它看起來像你還沒有定義的Sprite類呢。您將需要創建一個,或從您正在使用的任何庫中導入。