![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 16.12.2011
Сообщений: 45
|
![]()
Привет всем. Помогите пожалуйста, дайте идею или подсказку, как мне сделать сетку? Идея такова, Shape1 - двигающийся по стрелкам клавиатуры объект, двигается по форме с сеткой. Не могу никак придумать, как например сделать ячейку в сетке недоступной, то есть если ячейке задать как-нибудь значение 0, то по ней Shape1 перемещаться не будет, только по её краям, а у ячейки где задано значение 1, перемещаться будет. Вообще интересует столкновение. Как сделать стены для Shape1 на форме и как прописать их в код.
|
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 16.12.2011
Сообщений: 45
|
![]()
Stilet:
Это класс TCanvas? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
это компонент TDrawGrid.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
TCanvas? Да, если речь идет о нем.
I'm learning to live...
|
![]() |
![]() |
![]() |
#6 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Используй мозаечные миры. Создай двумерный массив в котором будут все клетки. Две переменные в которых будет храниться твое местоположение. И когда будешь прописывать обнаружение нажатых клавишь, проверь заранее следующий клетку.
-==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 16.12.2011
Сообщений: 45
|
![]()
Пепел Феникса:
Ну это я уже понял, но мне кажется что для таких целей не именно таблица нужна. Stilet: По-идее речь о нем. vovken1997: Какие мозаичные например? |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 16.12.2011
Сообщений: 45
|
![]()
Скажу сразу, была попытка сделать что-то типа ограничения, то есть прописывал переменные v(длинна стены) и s(ширина стены), прописывал в стиле "For v:=*** to *** do ***", по идее работало если создать условие "if Shape1.Top=v then движение стоп", но когда доходил до нижнего правого угла фигура тупо останавливалась. Может ламерский метод я пробую, но я пока что учусь без ничего...
Извиняюсь если не совсем понятно описал что я проделывал... |
![]() |
![]() |
![]() |
#9 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Зделай массив например 10*10 в зависимости от размера сетки. В него запиши 0 или 1 , ну если рассматривать твой случай. Зделай переменные, например x ,y. В них храни информацию о том в какой клетке ты находишься например x=5; y=3 . Чтоб определить в каком месте тебе надо вывести твой обьект умнож x на расстояние между двумя клетками и y тоже. В обработке клавишь проверяй например :
если нажата клавиша вверх то посмотрим какое значение хранится в клетке,в масиве (x-1,y) ,если 1 изменяй x на x-1 и перемещай обьект, если 0 ничего не делай. -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
Последний раз редактировалось vovken1997; 27.02.2012 в 22:31. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 16.12.2011
Сообщений: 45
|
![]()
vovken1997:
Надо бы попробовать... А ты за сетку из каких объектов говоришь? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Защита и сетка pdf | Foxx | Microsoft Office Word | 0 | 29.01.2012 23:17 |
Сетка на дисплее. | aleks88ej | Общие вопросы C/C++ | 0 | 26.02.2011 16:25 |
Сетка координат | Shyt | JavaScript, Ajax | 15 | 27.12.2010 17:55 |
Коордиатная сетка в печати | 0mega | Microsoft Office Excel | 1 | 18.04.2010 11:45 |
Сетка | Директор мира | Microsoft Office Excel | 2 | 10.10.2008 18:40 |