-5
所以我有一段代碼應該改變遊戲對象的紋理,但不幸的是對我來說它不工作!紋理不變?
我的寶貝和積木不會改變他們應該的!
我認爲問題的一部分在於這些下面的代碼片段:
Game.java:
if(red == 255 && green == 255 & blue == 255) handler.addObject(new Block(xx*32, yy*32, 0, ObjectId.Block));
if(red == 128 && green == 128 & blue == 128) handler.addObject(new Block(xx*32, yy*32, 1, ObjectId.Block));
if(red == 0 && green == 0 & blue == 255) handler.addObject(new Player(xx*32, yy*32, handler, ObjectId.Player));
if(red == 255 && green == 255 & blue == 0) handler.addObject(new Treasure(xx*32, yy*32, 0, ObjectId.Treasure));
if(red == 255 && green == 254 & blue == 0) handler.addObject(new Treasure(xx*32, yy*32, 1, ObjectId.Treasure));
塊:
public void render(Graphics g)
{
if(type == 0){//dirt
g.drawImage(tex.block[0], (int)x, (int)y, null);
}
if(type == 1){//grass
g.drawImage(tex.block[1], (int)x, (int)y, null);
}
}
寶:
public void render(Graphics g) {
if(i == 0)
{
g.drawImage(tex.treasure[0], (int)x, (int)y, null);
}
if(i == 1)
{
System.out.println("i = 1");
g.drawImage(tex.treasure[1], (int)x, (int)y, null);
}
}
紋理:
public void render(Graphics g) {
if(i == 0)
{
g.drawImage(tex.treasure[0], (int)x, (int)y, null);
}
if(i == 1)
{
System.out.println("i = 1");
g.drawImage(tex.treasure[1], (int)x, (int)y, null);
}
}
因此,這些是我認爲導致問題的代碼部分。此外,i
和type
已在代碼中聲明,我只是沒有包含這些部分。
什麼 '我' 和 '類型' 變量?我的猜測是問題出在這些值發生變化的代碼中,你可以發佈它嗎?只是一個瘋狂的猜測,但我認爲問題是他們的範圍,也許他們應該是渲染方法的參數 – jambriz
if(red == 128 && green == 128&blue == 128)handler.addObject(new Block(xx * 32,yy * 32,1,ObjectId.Block));其順序代碼 – user3046310
中的1/0,它與您的問題無關,但是您在同一個表達式中混合了shotcircuit(&&)和regular(&)AND。 if(red == 128 && green == 128&blue == 128) – jambriz