Arhn - архитектура программирования

Не позволяйте элементам управления перекрываться

Я весь день пытался выяснить, как запретить элементам управления, которые я рисую в событии, проверить и посмотреть, есть ли там другой элемент управления, и если да, то переместить его, чтобы они не перекрывались. Мне нужно, чтобы они могли перекрываться, если пользователь перетаскивает их туда, но при создании элемента управления, чтобы проверить и переместить их при необходимости. Я пытаюсь создать карточную игру и не хочу, чтобы элементы управления были скрыты за элементами управления (картами), которые пользователь еще не перемещал вручную. В качестве открыток я использую коробки с картинками. Любая помощь будет принята с благодарностью. Вот скрин моей формы. Более темные панели — это то, что находится в руках игроков. Панели светло-серого цвета — это игровое поле. В идеале пользователь должен разыграть карту и попытаться поместить ее в верхний левый угол панели. если есть карта, которая пересекается, переместите ее, пока она не коснется карты. В основном найдите открытое место, чтобы поставить карту.

Изображение формы1


  • Каков именно ваш вопрос? Если вы спросите меня, как проверить, пусто ли место, вы можете сделать myPanel.GetChildAtPoint(checkThisPoint). Он вернет элемент управления, который покрывает эту точку. Вам нужно разработать логику для сохранения и проверки положения всех элементов управления 11.01.2014
  • Это именно мой вопрос. Например, как бы я запустил цикл, который проверял бы каждую (карточку) картинку и проверял ее на вновь созданную картинку, и если они собираются коснуться друг друга, то переместите ее. Если в этот момент он коснется другого, переместите его снова. 11.01.2014
  • Пожалуйста, проверьте этот код stackoverflow.com/a/19717325/1704458. Это пример, а не совсем ответ, но он может быть его частью. Вам нужны серии массивов и т. д., чтобы хранить всю информацию и сравнивать ее в памяти. Например, стопка карт может быть массивом с перебором. У вас есть массив стеков, а в стеке у вас есть массив карт - чистое программирование :о) 12.01.2014

Ответы:


1

Пробовали ли вы использовать класс панели компоновки потока, он находится под контейнером toolbox => с этим элементом управления, вы можете указать, как к нему добавляются элементы управления.

12.01.2014
  • Однако я пытался возиться с этим, не повлияет ли это на то, что пользователь сможет перетаскивать поля с картинками вокруг формы, как они хотят, после того, как они были добавлены? 12.01.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..