2013-10-28 59 views
0

你会如何放置主纹理,然后在其上面粘贴另一个纹理?或者,我是否应该只用按钮纹理创建主纹理,并检查该区域的鼠标点击?我正在使用lwjgl和slick2d。如何把按钮纹理放在另一个纹理上?

+0

为什么要这样做? – Kyle

+0

我想创建一个主菜单,该菜单上有用于退出和播放的按钮,现在我我想我会检查鼠标点击。 –

回答

0

您可以在图像上绘制图像,只需将想要的图像的代码放在所需的代码下面,然后将图像代码放在底部。像:

graphic.drawImage(Image, 25, 50); //Under 
graphic.drawImage(Image2, 25, 50); //Over 

是这样的,因为负载秩序,代码加载从上到下,虽然使用了图像的位置被假设是似乎更高效的我,这样当图像悬停一个字符串变量结束或点击它可以将字符串更改为不同的图像。

int mousex = Mouse.getX(); 
int mousey = Mouse.getY(); 
String buttonimgloc = "unhoveredimagelocation.png"; 

public void render(GameContainer gc, StateBasedGame sbg, Graphics graphic) throws SlickException{ 
    Image button = new Image(buttonimgloc); 
    graphic.drawImage(button, 35, 140); 
} 

public void update(GameContainer gc, StateBasedGame sbg, int delta) throws SlickException{ 
    Input input = gc.getInput(); 
    mousex = Mouse.getX(); 
    mousey = Mouse.getY(); 

    if((mousex>53 && mousex<114) && (mousey>300 && mousey<320)){ 
     buttonimgloc = "hoveredimagelocation.png"; 
     } else { 
      buttonimgloc = "unhoveredimagelocation"; 
    } 
} 

为mousex和像老鼠的坐标是从游戏,我一直在工作,你会希望将其更改为您的影像就像是

((mousex>"leftedgeofimage" && mousex<"rightedgeofimage") && (mousey>"bottomedgeofimage" && mousey<"topedgeofimage")) 

不要添加“S并用该图像边缘的实际坐标更改“edgeofimage”

相关问题