C#太空射击游戏子弹图片路径加载异常求助
解决子弹图片显示错误的方案
- 确保图片随程序同步输出:找到项目里的
bullet.png文件,右键选择「属性」,将「复制到输出目录」设置为「如果较新则复制」或「始终复制」。这样编译后图片会自动同步到程序的运行目录,避免出现文件找不到的情况。 - 使用绝对路径拼接:不要直接写文件名,通过程序启动路径拼接图片地址,确保路径绝对正确。修改后的代码如下:
using System.IO; // ... private void shotfired(int firX) { PictureBox shot = new PictureBox(); // 拼接程序启动目录与图片文件名 string imagePath = Path.Combine(Application.StartupPath, "bullet.png"); shot.Image = Image.FromFile(imagePath); shot.Location = new Point(firX + 50, Player.Location.Y - 20); shot.Size = new Size(30, 40); shot.SizeMode = PictureBoxSizeMode.StretchImage; Controls.Add(shot); shooting.Add(shot); firing.Play(); } - 检查图片完整性:确认
bullet.png没有损坏,用图片查看器能正常打开,且格式为标准PNG(避免出现实际是JPG却改名为PNG的情况)。 - 直接加载图片替代路径设置:如果
ImageLocation仍有问题,改用Image.FromFile()直接加载,若路径错误代码会抛出异常,能更直观定位问题。
内容的提问来源于stack exchange,提问作者Αλέξανδρος Κόλλιας
相关产品推荐
相关产品推荐

