0

您将如何放入主要纹理,然后在其上粘贴另一个纹理?或者,我应该只创建带有按钮纹理的主纹理,然后检查该区域中的鼠标点击吗?我正在使用 lwjgl 和 slick2d。

4

1 回答 1

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 和 mousey 的坐标来自我一直在开发的游戏,您需要将它们更改为您的图像所在的位置

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

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

于 2013-10-30T20:57:40.143 回答