|
3D-программирование Вопросы, касающиеся программирования 3D мира |
09.12.2007, 22:55
|
#16
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Re: Проверка попадания в бота.
Maxxx.!!!., го курить хелп!
HolyDel, твоя идеологически правильнее, моя - адекватнее.
Пример:
У скина 40 костей. Нафига каждому ставить пик мод? ИМХО и мешам хватитю...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
09.12.2007, 23:37
|
#17
|
Гигант индустрии
Регистрация: 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
|
Нуждающийся
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Проверка попадания в бота.
Про entityalpha я знаю. EntityRadius я пробовал - он ругается, что не может использовать в этой команде типы.
Код пока не выкину, т.к. исходника под рукой сейчас нет.
|
(Offline)
|
|
10.12.2007, 00:12
|
#19
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Re: Проверка попадания в бота.
Ой не нада!
Кури хелп все вопросы сами собой исчезнут!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
10.12.2007, 17:04
|
#20
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Проверка попадания в бота.
сделай тутор от импера все поймешь
он очень хороший
|
+1
и я научился юзайть типы по этому тутору !!
меня тож раньше в дрож бросало от типов !!
но шас я ети типы сую куда попало, везде применяю где только можно !!
Так что Maxxx.!!!., разберись в туторе и будет тебе счастье !!
|
(Offline)
|
|
10.12.2007, 19:03
|
#21
|
Нуждающийся
Регистрация: 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
|
Гигант индустрии
Регистрация: 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
|
Нуждающийся
Регистрация: 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
|
Нуждающийся
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Проверка попадания в бота.
Никто не знает, в чем дело? Я сделал в точности, как тут говорили. А все-равно pick мерзский не срабатывает.
|
(Offline)
|
|
11.12.2007, 20:49
|
#25
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Проверка попадания в бота.
весь исходник с ресурсами пакуй в архив и выкладывай
мы не телепаты.
у тебя 100 % ошибка алгоритма
чудес не бывает
__________________
|
(Offline)
|
|
11.12.2007, 21:07
|
#26
|
Нуждающийся
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Проверка попадания в бота.
Да я не спорю, что дело в алгоритме. Кстати, когда "стреляешь издалека", то он иногда "попадает" в бота, причем в пик всегда какие-то цифры есть, когда мышь на бота наведена.
Вот исходник.
|
(Offline)
|
|
11.12.2007, 21:08
|
#27
|
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
|
Нуждающийся
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Проверка попадания в бота.
Сообщение от IGR
ты наверно просто НЕ попадаеш в область сферы !!
поставь:EntityPickMode bt\entS, 2 и проверь !!
|
Еще как попадаю. Переменная, где хранится значение CameraPick, когда мышь наведена на бота, всегда имеет какое-то значение. Так что с этим все впорядке.
|
(Offline)
|
|
11.12.2007, 21:25
|
#29
|
Дэвелопер
Регистрация: 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
|
Нуждающийся
Регистрация: 02.11.2007
Сообщений: 93
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Проверка попадания в бота.
H@NON , ты гений. Все заработало. А то я так писал Global MHIT2=MouseHit(2), и ни фига не работало. А сейчас все пашет, но я до сих пор не понимаю, почему не пашет тот вариант, к-й в исходнике.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:00.
|