如何在另一个纹理上放置按钮纹理?

时间:2013-10-28 23:40:10

标签: java lwjgl slick2d

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

1 个答案:

答案 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和mousey的坐标来自我一直在努力的游戏,你想把它们改成你的形象所在的地方

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

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