2012-03-28 26 views
1

私はロボットが障害物を避けることができるlejOSでNXTロボットシミュレータを書こうとしていますが、私は障害物がコード内に生成されることを望みます。以下のコードはCircle.jpgの作成を可能にしますが、作成したイメージを使用しようとするとコードがクラッシュします。このコードはIntellij IDEAでは動作しますが、以前に生成されたイメージではeclipseではありません。 .pngの代わりに 使用さJavaで生成されたイメージは、それらを生成したコードで使用できません。

  • と前回の実行によって生成された画像を.JPG、それはすでに存在していたという意味に使用され

    • :私は結果なしで次のことを試してみました。私はそれをやっているものを疑問に思ってなど、不透明から半透明

    から

  • 変更タイプは、その場で画像を生成する際の画像は私のコードがクラッシュするのですか?

    更新:新しいjpgを呼び出すために追加されたコマンドとエラーの画像。

    public static void obstacleFactory() 
    { 
        int width = 30; 
        int height = 30; 
    
        GraphicsEnvironment environment = 
          GraphicsEnvironment.getLocalGraphicsEnvironment(); 
    
        GraphicsDevice device = 
          environment.getDefaultScreenDevice(); 
    
        GraphicsConfiguration config = device.getDefaultConfiguration(); 
    
        BufferedImage bufferedImage = config.createCompatibleImage(width, height, 
          Transparency.TRANSLUCENT); 
    
        Graphics2D g2d = bufferedImage.createGraphics(); 
    
        g2d.setColor(Color.yellow); 
        g2d.fillOval(0, 0, width, height); 
    
        g2d.dispose(); 
    
        RenderedImage rendImage = bufferedImage; 
    
        try { 
         File file = new File("src/sprites/Circle.jpg"); 
         ImageIO.write(rendImage, "jpg", file); 
        } catch (IOException e) {} 
    } 
    

    とJPGを起動するコマンドの使用は

    NxtContext.useObstacle("sprites/Circle.jpg", 250, 475); 
    

    これは、日食が言うことである: enter image description here

  • 答えて

    1

    私は楕円の色を除いて、Eclipseのコードに問題がありません。 「コードがクラッシュする」とはどういう意味ですか?あなたは例外がありますか?その中の情報は何ですか?あなたは "src/sprites"パスを持っていない可能性がありますか?

    +0

    質問が更新されました。 – FossilizedCarlos

    +0

    私はlejOS/NXTについて知りませんが、例外は読み込みに関連していて保存には関係していないようです。ファイルパスが正しく指定されていますか?作成するコードでは 'src/sprites /'を使用しますが、ロード時には 'sprites /'のみを使用します。それは問題ありませんか?アクターのパスを指定する方法については、ドキュメントを参照してください(例: 'http://www.aplu.ch/classdoc/jgamegrid/ch/aplu/jgamegrid/Actor.html#Actor(boolean、java.lang。文字列) ') – Mikhail

    +0

    うん。 lejOSライブラリが残りを処理すると仮定して、イメージは/スプライトから取得されます。私が生成する画像は通常のJavaコードから来ているので、完全なパスを伝えなければなりません。 – FossilizedCarlos

    関連する問題