2017-01-17 23 views
0


LWJGL 3で動作するゲームエンジンを作成しています。
'FrameManager'という名前のクラスを作成していますウィンドウ入力サイズ、位置など)、私は多くのWebサイトやドキュメントなどを探していましたが、簡単な方法を作成する方法を見つけられませんでした。 最初に、私はGLFW 3メソッドを見つけました:glfwSetWindowIcon(frameId, images);
しかし、MacOS Sierra 1.12で動作していないようです(私は現時点ではWindowでテストできません)。ここ は、私は、このメソッドを使用する方法である:さまざまなプラットフォームで、GLFW 3を変更するためのさまざまな方法LWJGL 3.1のウィンドウアイコン

   log.debug(" -> Setting Icon..."); 
       final PNGDecoder decoder = new PNGDecoder(new FileInputStream(iconPath)); 
       final int iconWidth = decoder.getWidth(); 
       final int iconHeight = decoder.getHeight(); 
       final ByteBuffer buffer = createByteBuffer(iconWidth * iconHeight * 4); 
       decoder.decode(buffer, iconWidth * 4, PNGDecoder.Format.RGBA); 
       buffer.flip(); 
       final GLFWImage image = malloc(); 
       image.set(iconWidth, iconHeight, buffer); 
       final GLFWImage.Buffer images = malloc(1); 
       images.put(0, image); 

       glfwSetWindowIcon(frameId, images); 

       images.free(); 
       image.free(); 

私はウィンドウの作成/表示した後/前にそれを試みたが、何もMacOSのシエラ10.12(エラーなし、ないアイコン)で発生しません。

私はWindowsでは動作しますが、Macでは動作しないと考えました。


私は2つの方法を見つけたが、それはVMの起動引数でこれを追加する、:(
まず動作しないよりも、アップルのソリューションを探しました:-Xdock:icon=/path/myIcon.png
しかし、何も :(起こらず、I (スレッドがこの時点でブロックされている)

Application.getApplication().setDockIconImage(Image img); 

それは、アイコンを作成し、スレッドを中断しない

私は、アプリケーションバンドルが存在することが知られているが、実際には他のsolutio-がありません:ことを試みました。 n?

ありがとうございました! 素敵な一日を!

答えて

0

the GLFW documentationによると、GLFWアイコンAPIは機能しません。APIドキュメントの「備考」を参照してください。

ドックバーアイコンを設定するには、バンドルアイコンを使用する必要があることに言及しています。

関連する問題