С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21

JavaScript: столкновение объектов

09.08.2006, 07:00. Показов 3624. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу спецов по Java подсказать или помочь доработать скрипт Зинковского (написан на Java и VBScript).
Описание: игра-стрелялка, переделанная на тему морского сайта. Сверху опускаются мины, острова. Среди них - один корабль гонится за другим и стреляет по нему торпедой. (Рисунки - пока наметки игры, заменю).
Задача: при попадании торпедой в убегающий корабль он должен взорваться, звук взрыва (explode.wav); при столкновении нападающего корабля с миной или островом - взрыв корабля и его звук.
Пока не могу решить проблему обнаружения столкновения объектов.
Страничка сайта с игрой здесь: http://www.randewy.ru/razn/spcshp.html http://www.randewy.ru/razn/spcshp.html
Скачать в заарх-ном виде можно здесь: http://www.randewy.ru/razn/sp.zip http://www.randewy.ru/razn/sp.zip
Помогите, пожалуйста! Явы еще практически не знаю, книги упакованы в связи с переездом, знания не могу пополнить, за компом - урывками. А дело надо делать...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.08.2006, 07:00
Ответы с готовыми решениями:

Столкновение объектов
Есть проблемка, запутался ,помогите,пожалуйста.Не реагирует на столкновение,заранее большое спасибо <html> ...

Столкновение объектов на странице
Всем привет! Предположим у меня есть два шарика, один статичный, просто стоит в определенном месте, а другой бегает по странице от...

Как определить столкновение объектов
Как сделать столкновение объектов. Когда зеленый объект прикасается слева или справа красный объект или когда верхняя часть зеленого...

7
5 / 5 / 5
Регистрация: 24.10.2011
Сообщений: 269
09.08.2006, 13:31
Arsjusha (09.08.2006)

Пока не могу решить проблему обнаружения столкновения объектов.
Я в своё время писал так:
Вычисление позиции, координат корабля(Я брал среднюю точку по ширине и высоте). Далее вычисление позиции торпеды(тоже координаты, средней точки), если она выпущена.
Потом координаты коробля отнимаешь от координат торпеды и если расстояние минимум(до х<100 && y<100), то попал, если нет то или не доплыла или мимо.
0
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
10.08.2006, 06:52  [ТС]
Спасибо, мысль понял! Днем попробую сделать. О результатах сообщу.
0
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
11.08.2006, 05:32  [ТС]
Не, не получается! На страничке 2 скрипта: один на VBScript и именно он "управляет" стреляющим и убегающим кораблями и стрельбой торпедой; JavaScript обеспечивает движение мин и островков сверху вниз. Получается, что сначала надо решить проблему с VBScript. Я делал так:
Visual Basic
1
2
3
4
5
Dim z
Dim v 
z=(imgFr.style.Top+imgFr.style.Height/2)-(imgPrm.style.Top+imgPrm.style.Height/2)
' (v с left не привожу для краткости)
if z<100 then document.all.base.src=explode.wav"
Где ошибка?
0
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
11.08.2006, 05:34  [ТС]
Естественно, "explode.wav".
0
Silver
11.08.2006, 13:05
z=(imgFr.style.Top+imgFr.style.Height/2)-(imgPrm.style.Top+imgPrm.style.Height/2)
(v с left не привожу для краткости)
if z<100 then document.all.base.src=explode.wav"
Где ошибка?
Нужно брать абсолютные значения, ведь торпеда может быть с "другой стороны" и тогда z будет отрицательным и всегда меньше 100!
не помню точно как правильно в коде получить абсолютное значение, но что-то типа:
Visual Basic
1
2
3
z=Math.abs((imgFr.style.Top+imgFr.style.Height/2)-(imgPrm.style.Top+imgPrm.style.Height/2))
v=Math.abs((imgFr.style.Left+imgFr.style.Width/2)-(imgPrm.style.Left+imgPrm.style.Width/2))
if z<100 and v<100 then document.all.base.src="explode.wav"
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
12.08.2006, 06:08  [ТС]
Насчет абсолютных значений все понял, конечно же, нужно именно так, спасибо.
Сейчас вот перепробовал массу вариантов с Вашими z и v, увы, не получается. Вижу, скрипт "живой", реагирует в зависимости от того, куда я приведенное Вами воткнул. Но в том-то, видно, и вся штуковина, что нужно знать, куда v и z разместить. Если бы "кликать" по рисунку, тогда бы да. А вот здесь как быть? Нужно, чтобы эта часть скрипта начинала работать при движении торпеды, увязать его с движениями торпеды и убегающего корабля.
Ладно, на бегу, видно, не получится. Попробую днем в спокойной обстановке разобраться. Если можете, подскажите еще, не силен, конечно, я по этой части.
0
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 21
13.08.2006, 05:40  [ТС]
Проблему столкновения в VBScript решил:
Visual Basic
1
2
3
4
5
6
7
8
9
10
z=abs(iFrY-iPrmY)
v=abs(iFrX-iPrmX)
if z<20 and v<20 then 
document.all.base.src="explode.wav"
imgFR.Style.Visibility="hidden"
iPrmY=120
  iPrmX=120
  iPrmHY=5
  iPrmHX=10
end if
Теперь подскажите, пожалуйста, как "соединить" работу VBScript и JavaScript. Надо, чтобы догоняющий корабль (VBScript) пристолкновении с миной или островом (JavaScript) взрывался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.08.2006, 05:40
Помогаю со студенческими работами здесь

Непростое столкновение объектов на Canvas
Здравствуйте, уважаемые форумчане. Познаю работу с canvas. Нужно написать скрипт, реализующий перемещение круга мышкой из А в Б,...

Столкновение объектов
Стоит задача, нужно что бы сгенерированые объекты двигались в сторону сферы(которая может менять положение) с которой затем бы...

Столкновение объектов
Здравствуйте. Подскажите, пожалуйста, как сделать столкновение объектов. У меня на сцене генерируется много объектов. Главный герой должен...

Столкновение объектов
Не получается запрограммировать столкновение двух объектов. Хочется решить самую простую задачу чтобы разобраться в принципе реализации...

Столкновение объектов
Здравствуйте. Подскажите, как реализовать обработку столкновения двух прямоугольников в 2d пространстве?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru