Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 09.12.2007, 22:55   #16
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Проверка попадания в бота.

Maxxx.!!!., го курить хелп!
HolyDel, твоя идеологически правильнее, моя - адекватнее.
Пример:
У скина 40 костей. Нафига каждому ставить пик мод? ИМХО и мешам хватитю...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 23:37   #17
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Проверка попадания в бота.

Сообщение от Horror
ну можно и создать "оболочку"
НО меня напрягли слова

ты как скрываешь?
Hideentity ))
если да то так не прокатит)
пиши entityalpha obochka,0

выкинь весь код а то трудно понять , что не таке
Какую еще оболочку ?
ЖжОте
Трудно поставить на модель радиус ?
EntityPickMode entity,1
EntityRadius entity,x,y
__________________
(Offline)
 
Ответить с цитированием
Старый 09.12.2007, 23:41   #18
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Про entityalpha я знаю. EntityRadius я пробовал - он ругается, что не может использовать в этой команде типы.

Код пока не выкину, т.к. исходника под рукой сейчас нет.
(Offline)
 
Ответить с цитированием
Старый 10.12.2007, 00:12   #19
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Проверка попадания в бота.

Код пока не выкину
Ой не нада!
Кури хелп все вопросы сами собой исчезнут!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 10.12.2007, 17:04   #20
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: Проверка попадания в бота.

сделай тутор от импера все поймешь
он очень хороший
+1
и я научился юзайть типы по этому тутору !!

меня тож раньше в дрож бросало от типов !!
но шас я ети типы сую куда попало, везде применяю где только можно !!

Так что Maxxx.!!!., разберись в туторе и будет тебе счастье !!
(Offline)
 
Ответить с цитированием
Старый 10.12.2007, 19:03   #21
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Не получается

Type TBot
Field Ent
Field Hp
Field EntS
End Type

For i=1 To 10
bt.TBot=New TBot
bt\EntS=CreateSphere (5)
bt\ent=LoadAnimMesh ("Enemy/Bot1.b3d",bt\EntS)
ScaleEntity bt\ent, 0.7,0.7,0.7
ScaleEntity bt\entS, 0.7,0.7,0.7
bt\hp=100
EntityPickMode bt\entS,1
EntityRadius bt\entS,2,2
PositionEntity bt\entS,Rnd(-25,25),2,Rnd(-25,25)
Animate bt\ent,1,0.2
Next

Цикл

pick=CameraPick(cam,MouseX(),MouseY())
For bt.TBot=Each TBot
If MouseHit(2) And pick=bt\entS Then bt\hp=bt\hp-50
If bt\hp<=0 Then FreeEntity bt\entS : FreeEntity bt\ent :Delete bt
Next

Поставил поверх ботов сферы, и все-равно pick не срабатывает. Иногда срабатывет, когда мышь вообще куда-нибудь в пустоту повернута и когда сто раз на нее нажмешь.

Сообщение от IGR
разберись в туторе
Тутор этот я еще давно смотрел. Но эти типу - это ужас. Это же Сишные приколы с этими типами, а сишный синтаксис это ужас. Меня от него в дрожь берет, поэтому я на бейсиках с детства сижу. С QB еще начинал, у меня даже сайт про него свой остался: http://quitbasic.narod.ru
(Offline)
 
Ответить с цитированием
Старый 10.12.2007, 22:17   #22
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Проверка попадания в бота.

MHIT2=MouseHit(2)

For bt.TBot=Each TBot
If MHIT2
pick=CameraPick(cam,MouseX(),MouseY())
If pick=bt\entS
bt\hp=bt\hp-50
endif
endif
If bt\hp<=0 Then FreeEntity bt\entS : FreeEntity bt\ent :Delete bt
Next

ВНИМАНИЕ
MouseHit(2) - применять в коде один раз !!!!!!!!!!
ВСЕ опросы клавиш и мышки делать один раз и сохранять в переменные.
__________________
(Offline)
 
Ответить с цитированием
Старый 10.12.2007, 23:28   #23
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Сообщение от tormoz
MHIT2=MouseHit(2)

For bt.TBot=Each TBot
If MHIT2
pick=CameraPick(cam,MouseX(),MouseY())
If pick=bt\entS
bt\hp=bt\hp-50
endif
endif
If bt\hp<=0 Then FreeEntity bt\entS : FreeEntity bt\ent :Delete bt
Next
Никакого результата.
(Offline)
 
Ответить с цитированием
Старый 11.12.2007, 20:22   #24
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Никто не знает, в чем дело? Я сделал в точности, как тут говорили. А все-равно pick мерзский не срабатывает.
(Offline)
 
Ответить с цитированием
Старый 11.12.2007, 20:49   #25
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Проверка попадания в бота.

весь исходник с ресурсами пакуй в архив и выкладывай
мы не телепаты.
у тебя 100 % ошибка алгоритма
чудес не бывает
__________________
(Offline)
 
Ответить с цитированием
Старый 11.12.2007, 21:07   #26
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Да я не спорю, что дело в алгоритме. Кстати, когда "стреляешь издалека", то он иногда "попадает" в бота, причем в пик всегда какие-то цифры есть, когда мышь на бота наведена.

Вот исходник.
(Offline)
 
Ответить с цитированием
Старый 11.12.2007, 21:08   #27
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: Проверка попадания в бота.

EntityPickMode bt\entS,1
EntityRadius bt\entS,2,2
ты наверно просто НЕ попадаеш в область сферы !!
поставь:EntityPickMode bt\entS,2 и проверь !!
или радиус постав 10000 !!
(Offline)
 
Ответить с цитированием
Старый 11.12.2007, 21:10   #28
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

Сообщение от IGR
ты наверно просто НЕ попадаеш в область сферы !!
поставь:EntityPickMode bt\entS,2 и проверь !!
Еще как попадаю. Переменная, где хранится значение CameraPick, когда мышь наведена на бота, всегда имеет какое-то значение. Так что с этим все впорядке.
(Offline)
 
Ответить с цитированием
Старый 11.12.2007, 21:25   #29
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: Проверка попадания в бота.

тебе же написали, нажатие клавиш хранить в переменных. И вообще в твоем коде получается анимация выстрела проигрывается когда жмешь левую кнопку, а стреляешь когда кликнул на правую кнопку.
global MHIT2

For bt.TBot=Each TBot
TranslateEntity bt\entS,0,G#,0
If MHIT2;MouseHit(2)
CamP=CameraPick(CAM,MouseX(),MouseY())
;pick=CameraPick(CAM,MouseX(),MouseY())
If CamP=bt\entS
SndPlay(1)
bt\hp=bt\hp-50
EndIf
EndIf
If bt\hp<=0 Then FreeEntity bt\entS : Delete bt
Next
//основной цикл
MHIT2=MouseHit(2)
//энд
(Offline)
 
Ответить с цитированием
Старый 11.12.2007, 22:19   #30
Maxxx.!!!.
Нуждающийся
 
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Проверка попадания в бота.

H@NON , ты гений. Все заработало. А то я так писал Global MHIT2=MouseHit(2), и ни фига не работало. А сейчас все пашет, но я до сих пор не понимаю, почему не пашет тот вариант, к-й в исходнике.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на вшивость SBJoker Болтовня 10 01.02.2010 03:59
Алгоритм поведения бота в гонках PrgMan Алгоритмика 1 18.06.2009 20:47
о движении пули и попадания в врага temned FAQ 4 18.02.2009 08:05
Передвижение бота из пункта А в пункт В по вейпоинтам. Crystal 3D-программирование 17 14.12.2007 21:24
Проверка на столкновение ЛысыЙ_Чук-Иванчук 3D-программирование 8 09.05.2006 10:50


Часовой пояс GMT +4, время: 21:00.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com