我有細的運氣與one of my projects下面的代碼。我碰巧將紋理保存在單個文件中,但似乎沒有問題。
如果你想加載一個大的圖像,你可以用同樣的方法,然後使用Image class的subImage method把它分成幾塊。請注意,文檔提到,任何子圖像「保留對[原始]圖像數據的引用,所以如果[父圖像]中的任何內容都發生更改,它也會影響子圖像。」
import org.newdawn.slick.Image;
...whatever code you've got...
/** Loads the image resources needed for the game.
*
* @throws SlickException if there is a problem loading one of the images
*/
public void loadImageResources() throws SlickException {
images = new Image[6];
images[0] = new Image("images/controls/play.png");
images[1] = new Image("images/controls/pause.png");
images[2] = new Image("images/tiles/stone.png");
images[3] = new Image("images/peds/ped.png");
images[4] = new Image("images/peds/ped_add.png");
images[5] = new Image("images/peds/ped_remove.png");
}
甜!但有一個問題,我如何將圖像轉換爲OPenGL的紋理? –
嗯,好,我不能幫你那裏,但如果你使用Slick2D你不應該有觸摸的OpenGL - Slick2D管理着你。是否有一個特定的原因是你正在深入研究OpenGL?如果是這樣,Slick2D是否適合您(如果您在Slick2D中編寫整個遊戲)? – jefflunt
是的,我目前正在使用Slick2D爲他們預先製作的Texture和TextureLoader,最終我希望我的代碼能夠獨立運行lwjgl,我有點喜歡這個,所以我按照他們的教程將圖像加載到顯示器中,他們說爲此使用Slick2D,所以我做了,但兩個來源限制了你的能力 –