繁体   English   中英

Java的。 为什么我的图像没有出现在我的GUI中

[英]Java. Why does my image not appear in my GUI

所以我有激光课。 我的问题是激光纹理没有显示出来。 您能指出错误在哪里吗? 我有一个项目要在下周提交,而我遇到了这个问题。 我很可能不在本课之外直接执行它。 代码正在执行预期的操作,但是图像却是问题。 当我按下向上箭头时,应该向对面的舰船发射激光束,将其摧毁,然后按下UP键,我看不到任何激光束,但对手被摧毁了。

private class Player1weapon {
        int centerX, centerY;
        boolean isFalling;
        public Image laserp1;
        public ImageIcon icon;


        public Player1weapon() {
            isFalling = false;
            icon = new ImageIcon("resources/laserplayer1.png");
            laserp1 = icon.getImage();
        }

        void updateForNewFrame() {
            if (isFalling) {
                if (centerY > height + 10) {
                    isFalling = false;
                }
                else 
                    if (Math.abs(centerX - player2.centerX - 40) <= 30 && Math.abs(centerY - player2.centerY) <= 21) {
                        player2.isExploding = true;
                        player2.explosionFrameNumber = 1;
                        isFalling = false;
                        player1.score+=10;
                    }
                    else
                        if(player1.isExploding){
                            isFalling = false;
                        }
                        else
                            centerY -= 30;
            }//end if   
        }//end updateForNewFrame()

        void draw(Graphics g) {
            if (!isFalling) {
                centerX = player1.centerX + 37;
                centerY = player1.centerY + 23;
            }
                g.drawImage(laserp1, centerX, centerY - 8, laserp1.getWidth(null), laserp1.getHeight(null),null);
        }//end Draw()

    }//end player1weapon

如果从IDE(例如eclipse或netbeans)运行,请确保目录看起来像这样

ProjectRoot
         resources
                laserplayer1.png
         src

可能只是文件路径有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM