Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2009, 01:26   #11
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от DeKot Посмотреть сообщение
Классика... Клиника...
Да никто тебе /Вам не поможет окромя себя.
Попробуй вот такой метод - 1.запустил код, откомпилровал. посмотрел.
2. Изменил одну переменную ( одну), выполнил п.1.
3. Проанализируй, что же изменилось.
4.Вернул все в обрат и убедился , что работает по прежнему.
5.Изменил другую переменную - п.1, 3, 4.
И так далее.
Если не получается - " парашютный спорт не для Вас".
Предлагаешь методом тыка ? Так я уже пробовал написать так пока ничего не получается тут с головой подходить надо ...
nanobond вне форума Ответить с цитированием
Старый 08.07.2009, 12:00   #12
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
тут с головой подходить надо ...
Вот именно что с головой. И вообще что сложного сделать отлетание шарика от доски? Когда я делал свою первую игру арканойд меня никто не учил и интернета не было.
Идея коллизии(столкновения обьектов) в том, что если координаты обьекта 1 заходят в координаты обьекта 2 то произошло столкновение. Вот процедура обработки столкновений 2 прямоугольных объектов которая вызывается в таймере:
Код:
Function CoordsCollision(X1,X2,Xpix:integer;Y1,Y2,Xpix2:integer):integer;
{Параметры:
X1,Y1 - координаты квадрата 1
X2,Y2 - координаты квадрата 2
Xpix - ширина квадрата 1
Xpix2 - ширина квадрата 2
Возвращаемые значения:
1 - пересечение по X
2 - пересечение по Y
3 - пересечения по X и Y (столкновение)
0 - нет пересечкний и столкновений}
begin
Result:=0;
if (X1+Xpix>X2) and (X1<X2+Xpix) then Result:=2;
if (Y1+Xpix2>Y2) and (Y1<Y2+Xpix2) then Result:=1;
if (X1+Xpix>X2) and (X1<X2+Xpix) and (Y1+Xpix2>Y2) and (Y1<Y2+Xpix2)  then Result:=3;
end;
Вадим Буренков вне форума Ответить с цитированием
Старый 08.07.2009, 15:13   #13
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Вот именно что с головой. И вообще что сложного сделать отлетание шарика от доски? Когда я делал свою первую игру арканойд меня никто не учил и интернета не было.
Идея коллизии(столкновения обьектов) в том, что если координаты обьекта 1 заходят в координаты обьекта 2 то произошло столкновение. Вот процедура обработки столкновений 2 прямоугольных объектов которая вызывается в таймере:
Код:
Function CoordsCollision(X1,X2,Xpix:integer;Y1,Y2,Xpix2:integer):integer;
{Параметры:
X1,Y1 - координаты квадрата 1
X2,Y2 - координаты квадрата 2
Xpix - ширина квадрата 1
Xpix2 - ширина квадрата 2
Возвращаемые значения:
1 - пересечение по X
2 - пересечение по Y
3 - пересечения по X и Y (столкновение)
0 - нет пересечкний и столкновений}
begin
Result:=0;
if (X1+Xpix>X2) and (X1<X2+Xpix) then Result:=2;
if (Y1+Xpix2>Y2) and (Y1<Y2+Xpix2) then Result:=1;
if (X1+Xpix>X2) and (X1<X2+Xpix) and (Y1+Xpix2>Y2) and (Y1<Y2+Xpix2)  then Result:=3;
end;
Вроде бы половина понял половина нет. x1 и y1 какие именно координаты тоесть на что их менять? Если xpix ширина то это допустим image1.width так ? А далее оперировать с значением Result .
nanobond вне форума Ответить с цитированием
Старый 08.07.2009, 15:41   #14
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Вообще когда делаешь игровой обьект (в твоей игре шарик и палка) то ты должен знать его размеры и положение в системе координат. К примеру есть изображение Image c разрешением 50x50 пикселей. Тогда в системе координат оно выглядит так как на рисунке и его вершины в координатах равны
1)X,Y
2)X+50,Y
3)X+50,Y+50
4)X+Y+50
Данная функция по этим координатам высчитывает (алгебра средних классов, координатная плоскость) находится ли объект 1 с координатами X1 и Y1 и сторонами Xpix (на примере Xpix=50).
Конкретно использовать ее очень легко. Нужно найти координаты объектов и ихширину а дальше подставить в функцию. Если она возвращает 3 то объекты пересеклись.
Изображения
Тип файла: jpg Pic.jpg (3.1 Кб, 153 просмотров)
Вадим Буренков вне форума Ответить с цитированием
Старый 10.07.2009, 22:24   #15
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Вообще когда делаешь игровой обьект (в твоей игре шарик и палка) то ты должен знать его размеры и положение в системе координат. К примеру есть изображение Image c разрешением 50x50 пикселей. Тогда в системе координат оно выглядит так как на рисунке и его вершины в координатах равны
1)X,Y
2)X+50,Y
3)X+50,Y+50
4)X+Y+50
Данная функция по этим координатам высчитывает (алгебра средних классов, координатная плоскость) находится ли объект 1 с координатами X1 и Y1 и сторонами Xpix (на примере Xpix=50).
Конкретно использовать ее очень легко. Нужно найти координаты объектов и ихширину а дальше подставить в функцию. Если она возвращает 3 то объекты пересеклись.
А показать на примере моего кода можете? Просто без примера мне очень трудно разобраться.
nanobond вне форума Ответить с цитированием
Старый 10.07.2009, 23:23   #16
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

nanobond, Давали же ссылку на тему с теннисом, там два простейших исходника, мой и Декота, с пояснениями, неужели мало?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 11.07.2009, 06:22   #17
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
nanobond, Давали же ссылку на тему с теннисом, там два простейших исходника, мой и Декота, с пояснениями, неужели мало?
Не смог с ним разобраться ...
nanobond вне форума Ответить с цитированием
Старый 11.07.2009, 13:00   #18
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от nanobond Посмотреть сообщение
Не смог с ним разобраться ...
С чьим именно?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 12.07.2009, 01:42   #19
nanobond
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 12
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
С чьим именно?
Можно опять ссылки дать ? Хотя я уверен что ничего не пойму.
nanobond вне форума Ответить с цитированием
Старый 12.07.2009, 15:29   #20
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Уже публиковали на первой странице:
Цитата:
В атаче в добавок сам проект.
Вложения
Тип файла: rar TENNIS.rar (5.6 Кб, 3 просмотров)
Вадим Буренков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разрабатываем игру теннис DeKot Gamedev - cоздание игр: Unity, OpenGL, DirectX 28 28.10.2011 19:05
Accuracer поделитесь примерами Poligraf БД в Delphi 4 12.01.2010 21:25
настольный теннис sverhuVniz Паскаль, Turbo Pascal, PascalABC.NET 3 15.11.2008 15:59
есть у кого SQL справочник команд процедур и функций, с подробным описанием и примерами? Рустам SQL, базы данных 2 23.11.2007 12:20