Я считаю, что нужно сначала пытаться отобразить шарики изображением, а если по какой-либо причине картинки не загрузились, то рисовать их.
1. Создаем переменную с изображением
Bitmap ImageBall;
2. При инициализации формы с игрой пытаемся загрузить в эту переменную изображение
try
{
ImageBall = new Bitmap("путь до изображения");
}
catch (Exception ex)
{
MessageBox.Show(@"Не удалось загрузить: " + ex.Message, @"Ошибка при загрузке изображений!");
}
3. Во время генерации шарика, мы проверяем, что изображение загрузилось, иначе рисуем сами
Bitmap bmp = new Bitmap(50,50);
Graphics gr = Graphics.FromImage(bmp); // это пространство на котором рисуется игра
Rectangle rect = new Rectangle(0,0,50,50); // размер шарика
if(ImageBall == null) // если картинка не загрузилась
{
gr.DrawEllipse(new Pen(Color.Black), rect); // рисуем круг
}
else
{
gr.DrawImage(ImageBalls, rect);
}
5. Помещаем в PictureBox наш шарик нарисованный или с картинкой
pictureBox1.Image = bmp