1
私はロボットが障害物を避けることができるlejOSでNXTロボットシミュレータを書こうとしていますが、私は障害物がコード内に生成されることを望みます。以下のコードはCircle.jpgの作成を可能にしますが、作成したイメージを使用しようとするとコードがクラッシュします。このコードはIntellij IDEAでは動作しますが、以前に生成されたイメージではeclipseではありません。 .pngの代わりに 使用さJavaで生成されたイメージは、それらを生成したコードで使用できません。
- :私は結果なしで次のことを試してみました。私はそれをやっているものを疑問に思ってなど、不透明から半透明
から
更新:新しい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);
これは、日食が言うことである:
質問が更新されました。 – FossilizedCarlos
私はlejOS/NXTについて知りませんが、例外は読み込みに関連していて保存には関係していないようです。ファイルパスが正しく指定されていますか?作成するコードでは 'src/sprites /'を使用しますが、ロード時には 'sprites /'のみを使用します。それは問題ありませんか?アクターのパスを指定する方法については、ドキュメントを参照してください(例: 'http://www.aplu.ch/classdoc/jgamegrid/ch/aplu/jgamegrid/Actor.html#Actor(boolean、java.lang。文字列) ') – Mikhail
うん。 lejOSライブラリが残りを処理すると仮定して、イメージは/スプライトから取得されます。私が生成する画像は通常のJavaコードから来ているので、完全なパスを伝えなければなりません。 – FossilizedCarlos