Этот вопрос закрыт для ответов, так как повторяет вопрос Если объект касается определённого цвета, то выполнять определённое действие?

Если объект соприкасается с чёрным цветом, то выполнять вывод в консоль?

Здравствуйте!
Программа: visual studio (winforms).
Пожалуйста скажите как вставить вот этот код:
if (obj.intersects(pictureBox2) && pictureBox1.color == Color.black) {
}


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CTDk { 
public partial class Form1 : Form { 
public Form1() { 
InitializeComponent(); 
//сюда
Console.WriteLine("Hello World!"); 
}
}
}

Пытался так:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CTDk { 
public partial class Form1 : Form { 
public Form1() { 
InitializeComponent(); 
if (obj.intersects(pictureBox2) && pictureBox1.color == Color.black) {
Console.WriteLine("Hello World!"); 
} 
}
}
}

Но не работает(
Выдаёт ошибку.
Заранее Спасибо :)
  • Вопрос задан
  • 142 просмотра
Ответы на вопрос 1
FoggyFinder
@FoggyFinder
Вначале небольшое лирическое отступление.

Если ваш вопрос связан с каким-то из предыдущих, то обязательно приводите ссылку на него чтобы была возможность понять контекст.

Теперь к вопросу.

Ваш объект (obj) это PictureBox , элемент управления, у которого, что не удивительно, нет своего метода intersects.

Но вы можете использовать свойство Bounds чтобы получить местоположение и размеры ваших объектов:

if(pictureBox1.Bounds.IntersectsWith(pictureBox2.Bounds))
{
// put your code here
}


По поводу второй части - проверки что объект определенного цвета. Чтобы быть уверенным что картинка полностью одного цвета придется проверять каждый пиксель.
Но, я думаю, что вы можете добиться цели намного более простым способом.

Например, если ваш объект может менять цвета, а вас интересует является ли он черным, то в момент смены цветы храните это состояние (isBlack) в свойстве Tag вашего pictureBox.

Если вы пишите какую-то простую игру по типу змейки, то пока не завязли, советую уделить немного времени на разделение кода на смысловые части - определите классы описывающую ваши объекты, логику взаимодействия и отдельно их отображение на форме.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы