|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.10.2013, 00:08 | #1 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 31
|
Ограничить движение одного квадрата в другом
Ребята здравствуйте! Подскажите пожалуйста, я не знаю куда дальше двигаться. Задача: реализовать иерархию точка > квадрат > квадрат в квадрате. Заставить их двигаться, уменьшатся и увеличиваться. Это все я реализовал, но вот проблема: квадрат не желает двигаться внутри квадрата, который тоже двигается, все время выходит за его границы, я понимаю что нужно при создании объекта указывать параметры первого квадрата, ну вообщем помогите пожалуйста. Как реализовать движение квадрата в квадрате? Вот листинг:
Код:
Код:
Код:
|
29.10.2013, 00:09 | #2 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 31
|
Код:
Спасибо! |
29.10.2013, 15:46 | #3 |
Форумчанин
Регистрация: 03.10.2013
Сообщений: 142
|
CSquareInSquare должен иметь ссылку на квадрат владелец.
Имея эту ссылку при движении просто проверяйте выход за границы. |
30.10.2013, 00:36 | #4 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 31
|
чуть более подробнее можно?
|
30.10.2013, 09:09 | #5 |
Форумчанин
Регистрация: 03.10.2013
Сообщений: 142
|
В классе CSquareInSquare добавьте поле типа - Square.
В конструкторе CSquareInSquare добавьте параметр такого же типа. При создании объекта CSquareInSquare передавайте в него ссылку на Square владельца. В коде CSquareInSquare.move() - учитывайте граница квадрата владельца (голая математика, если в голове не укладывается - рисуйте на бамажке). |
31.10.2013, 01:57 | #6 | |
Пользователь
Регистрация: 15.12.2011
Сообщений: 31
|
Цитата:
все равно вылазит за границы |
|
31.10.2013, 17:40 | #7 |
Форумчанин
Регистрация: 03.10.2013
Сообщений: 142
|
А что не получается то?
|
01.11.2013, 00:34 | #8 |
Пользователь
Регистрация: 15.12.2011
Сообщений: 31
|
Код:
|
01.11.2013, 08:45 | #9 |
Форумчанин
Регистрация: 03.10.2013
Сообщений: 142
|
тут я не только бы проверял выход за границу, но и возвращал в пределы границы
Код:
Зачем сравнивать ширину и положение левой границы? Сравнивайте ширину с шириной. И исправляйте если вышла за пределы возможного. Последний раз редактировалось simples; 01.11.2013 в 08:49. |
02.11.2013, 01:47 | #10 | |
Пользователь
Регистрация: 15.12.2011
Сообщений: 31
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск одного изображения в другом | czuryk | Мультимедиа в Delphi | 12 | 29.04.2013 18:13 |
Поиск одного изображения в другом (переделать программу) | puma1337 | Общие вопросы Delphi | 0 | 10.09.2012 21:24 |
поиск слова из одного массива в другом | Getmanin | C# (си шарп) | 0 | 26.03.2012 16:45 |
Движение квадрата по наклонной плоскости. НЕ могу найти ошибку | Rocky095 | Помощь студентам | 0 | 18.01.2011 16:28 |
Ограничить движение мыши в StringGrid??? | Dersou | Помощь студентам | 4 | 10.08.2010 15:53 |