Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将图像放在图形前面-简单的方法-_Java - Fatal编程技术网

Java 将图像放在图形前面-简单的方法-

Java 将图像放在图形前面-简单的方法-,java,Java,我的程序有个问题。我在做一个吃豆人的小项目。基本上,我想在迷宫上展示已经画好的药丸 所以迷宫是g2图形,我使用了一个简单的txt文件将数字迷宫转换成图形迷宫 我要告诉这个节目的是: 如果你撞到一个“1”,你会把路弄黑, 如果你打了一个“2”,你会放一个pillimport pill图像,然后 如果你打了一个“3”,你会放一个超级皮球图片 下面是需要了解更多详细信息的代码部分 @Override public void draw(Graphics g) { for(int y=0;y&l

我的程序有个问题。我在做一个吃豆人的小项目。基本上,我想在迷宫上展示已经画好的药丸

所以迷宫是g2图形,我使用了一个简单的txt文件将数字迷宫转换成图形迷宫

我要告诉这个节目的是:

如果你撞到一个“1”,你会把路弄黑, 如果你打了一个“2”,你会放一个pillimport pill图像,然后 如果你打了一个“3”,你会放一个超级皮球图片 下面是需要了解更多详细信息的代码部分

@Override
public void draw(Graphics g) {

    for(int y=0;y<nbLin;y++){

        for(int x=0;x<nbCol;x++){

            if(charAt(x,y)!='0'){
                g.fillRect(x*STEP-14,y*STEP-14,28,28); // put a road
            }
            if(charAt(x,y)=='2'){
                g.drawImage(pill.getSubimage(0,0,28,28),x*STEP-14,y*STEP-14,null);// put a pill

            }

            if(charAt(x,y)=='3'){
                g.drawImage(superpill.getSubimage((frame2/2)*30,0,28,28),x*STEP-14,y*STEP-14,null); //put a super pill

            }
        }
    }
我之所以一步一步地乘以坐标,是因为我用相同的步长乘以屏幕大小,所以我必须以我认为相同的比例更改所有新点坐标

我减去14的原因是因为吃豆人的体型是28,所以,我只是从每个点减去吃豆人体型的一半,以使道路围绕着它

不要注意子图像部分,在这种情况下,它不是真正相关的


我认为解决这个问题的一个办法是把所有的药丸图片放在最前面。问题是我找不到一个简单的方法来解决这个问题。

我的问题的解决方案很简单,我想如果有人遇到同样的问题,与你分享它会很好。你只需放置另一个循环来绘制图像,基本上我在打印图像的同时填充矩形,所以我必须分开两个不同循环中的两个操作

你在绘制药丸之前绘制背景吗?该问题的解决方案-你没有说明问题是什么。我猜,由于maze.txt结构,该问题的答案是在之前和之后。例如,当程序导入药丸时,他会在命中“1”,发生率为90%
g.fillRect(x*STEP-14,y*STEP-14,28,28)