![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
Аа извините буду знать.
Так что с моей игрой, тема уже поменяла русло.
__________________
Peace !!! |
|
|||||
|
[+1 03.02.12]
Регистрация: Jul 2007
Адрес: Благовещенск на Амуре
Сообщений: 22
|
помне так зачем эти хиттэсты и поточечныеСканирования, я делаю проще смотри:
• пусть поле будет 500х400 кратно 5:4, • короче например пуля размером с 4 пикселя • тады делим на 4 координату пули и координату врага тож на 4 делим • округляем чтоб без заусенец после запятой было, • сравниваем не совпало ли, • затем деалем выводы дальше... • ... вроде так... надо проверить |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
О точно, надо попробывать, откуда такая идея - сам или у кого-то позаимствовал?
__________________
Peace !!! |
|
|||||
|
[+1 03.02.12]
Регистрация: Jul 2007
Адрес: Благовещенск на Амуре
Сообщений: 22
|
Сам, батенька, сам..
просто когда-то на спектьруме готовил процедурки для своей буждущей стратежки... Только на ассемблере я делил не мат. функами а просто байт сдвигал на один или два бита тем самым делил на 2 или 4 а то и на 8 и 16 и т.п... Последний раз редактировалось Доктор Глюк; 21.07.2007 в 23:24. |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
Я так понял это через массивы, в них я чайник, немогбы дать хоть наводочку кода? я бы сэкономил 48 часов своей жизни )
__________________
Peace !!! |
|
|||||
|
[+1 03.02.12]
Регистрация: Jul 2007
Адрес: Благовещенск на Амуре
Сообщений: 22
|
интересно что именно тебе показалось через массивы:?
конечно же все координаты x y z угол_x угол_y угол_z ускорение_x ускорение_y ускорение_z скорость_x скорость_y скорость_z, состояния жизни, тип объекта, и прочие качества удобно хранить в массиве если нет прямого доступа к области памяти в оперативке, чтоб их быстро обработать и выдать на экран в готовом виде. насчёт байт расскажу вкратце: имеем байт с число координаты икс, он выглядит так: 00101101 = 45 сдвигаем вправо, т.е. делим на два, он уже будет таким: 00010110 = 22 тем самым поделил и округлил подробней например пуля почти в середине врага т.е. где-то в ухо попала: пуля: x=46 ;y=95 враг: x=50 ;y=99 делим всё на 8 или 12, 16, 24 как хочеш для точности. если на 8 то: пуля: x=6 ;y=12 враг: x=6 ;y=12 if (_х.пуля/8 == _х.враг/8 || _y.пуля/8 == _y.враг/8)
{звук:смерти;враг(№) -=1;очки +=100*стоимостьВрага(№)}
ещё можно замутить метод обнаружения нахождения в поле зрения объекта используя такую мат. формулу (поискать в учебниках) которая определяет а не попала ли точка в окружность если ответ уравнения 0 значит не попала. и тип того... но это каждый раз просчитывать надо на столкновения, пересечения, я незнаю может есть такая функция типа onObjectRoll типа того, что когда другой объект находится под или над другим срабатывает этот евент, и тогда только происходит нужный расчёт кто с чем столкнулся... буду думать дальше... пока мыслей нет, временно занят другой областью творчества... нашёл тут в начале ветки: Цитата:
платформе всё заранее известно, только дело времени и расчётов необходимых человеку и то как он их собирается проводить, мат.путём илиже методом тыка в точку отрезками линий. надеюсь стрельбу из пулемёта ты сможешь написать используя вычисления 4х известных координат игрока и врага извлекая гипотенузу или ещё мождт какой угол и сравнивая это с действительным углом выстрела, проще наверное вычислить под каким углом лежит враг на плоскости относительно тебя и под каким углом ты стрелял, затем сравнить и если делёное и округлёное сравнение совпало, то всё получится.. если реально, то бери учёбник по геометрии или алгебре и ищи, найдёшь даже больше чем думал..
__________________
даёш кликопробегом по иконам Последний раз редактировалось etc; 23.07.2007 в 22:43. |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
На счот Имена неизвестны я имел ввиду что враги создаются через цыкл и имена у них enemy1,enemy2,enemy3......enemyN. Еслибы я их знал то могбы просто написать hitTest , но я незнаю их заранее, а твой способ подходит также если имена заранее известны.
__________________
Peace !!! |
|
|||||
|
[+1 03.02.12]
Регистрация: Jul 2007
Адрес: Благовещенск на Амуре
Сообщений: 22
|
Интересно, а что это значит:
..подпись в моём предыдущем посте..
я так не подписываюсь, господин админ соизвольте объяснить мне, что вы там правили ??? что не так, опять КОДЕ? нет, я коде где надо вставил, а где не надо соответственно не вставил. .спасибо таксказать за внимание. щас я вам плюс вышлю по почте ![]()
__________________
даёш кликопробегом по иконам |
|
|||||
|
Регистрация: Jan 2007
Адрес: Узбекистан, Ташкент
Сообщений: 450
|
Так ты не знаешь способа?
__________________
Peace !!! |
|
|||||
|
Что вы нас мучаете, мы предложили полный перебором цикл.
Мы же не знаем как у вас все устроено, может можно одну часть переписать так, что все имена будут известны. А обычно это так и бывает, так что ломайте свою голову и оптимизируйте а не задавайте 1 и тот же вопрос 20 раз.
__________________
"We Are The Champions My Friends!" Queen |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|