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

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

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

Ответ
 
Опции темы
Старый 11.12.2009, 01:54   #1
shyrikkk
Нуждающийся
 
Регистрация: 11.12.2009
Сообщений: 77
Написано 2 полезных сообщений
(для 2 пользователей)
помогите с выстрелом в объекты

Хотел попросить знающих программистов .
Я создал обьект который стреляет шариком по кубику .
Хотел попросить как сделать чтобы исчез и кубик и шарик при столкновении (при выстреле) ,и чтоб на месте стокновения был небольшой эффект взрыва (самого простого )

вот пример :
Graphics3D 640,480,32,2
SetBuffer BackBuffer()

shar=CreateSphere() ; - создаём шар
HideEntity shar ;- скрываем шар

player=CreateCube() ;- создаём куб(игрока)

cam=CreateCamera() ;-создаём камеру
PositionEntity cam,0,3,-15 ;- позиция камеры
EntityParent cam , player ;- привязка камеры с зади игрока

lit=CreateLight() ;- свет
Type Dude
Field entity
End Type

stena=CreateCube () ;- создаём обьект (СТЕНА)
PositionEntity stena , 0 ,0 ,50

Repeat

For d.Dude=Each Dude
MoveEntity d\entity,0,0,2
If EntityDistance(cam,d\entity)>150 ;- если при выстреле шарик улетает
FreeEntity d\entity ;- за 150 ,то он удаляеться с
Delete d ;- поверхности и из памяти
EndIf
Next

For d.Dude=Each Dude ;- если при выстреле шарик сталкиваеться
MoveEntity d\entity,0,0,1.1 ;- с кубиком(СТЕНА) , то шарик ищезает
If EntityDistance (d\entity,stena)<5 ;- с поверхности и из памяти
FreeEntity d\entity
Delete d
EndIf
Next

If MouseHit(1) ; - нажатие мыше при выстреле

d.Dude=New Dude ; - создаём копии шариков
d\entity=CopyEntity( shar )
PositionEntity d\entity,EntityX#(player,1),EntityY#(player),Entit yZ#(player,1) ;- привязка

EndIf ;- шариков кубика и камеры

If KeyDown(200) MoveEntity player,0,0,1 ;- управление
If KeyDown(208 ) MoveEntity player,0,0,-1
If KeyDown(203) MoveEntity player,-1,0,0
If KeyDown(205) MoveEntity player,1,0,0

RenderWorld
UpdateWorld

Flip
Until KeyHit(1)

End

Последний раз редактировалось shyrikkk, 11.12.2009 в 21:40.
(Offline)
 
Ответить с цитированием
Старый 11.12.2009, 07:31   #2
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: помогите с выстрелом в объекты

Ээх ребят, я чуть чуть поугорал над кодом))))
Shyrikk, во первых, делать два цикла For D.Dude не обязательно, достаточно лишь один раз пройтись по ним, и поставить три условия - улетел "за 150", врезался в стену, и врезался в другого чувака.
Вот смотри:

[code=blitzbasic]
For d.Dude=Each Dude
Death=false ;Довольно важный момент
MoveEntity d\entity,0,0,2
;первое условие - расстояние от камеры
If EntityDistance(cam,d\entity)>150 then Death=true
If EntityDistance (d\entity,stena)<5 then Death=true
For D_.dude =each dude ; Переменная D_, чтоб игрока не путать с другими
If D_<>D and entitydistance(D_\entity,D\entity)<5 then
Death=true
;Сдесь создаешь взрыв от шарика
exit
endif
next
If DEATH then
FreeEntity D\entity
Delete D
EndIf
Next

[/code]
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
shyrikkk (11.12.2009)
Старый 11.12.2009, 14:44   #3
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: помогите с выстрелом в объекты

Дам совет почаще заходи сюда
а в твоем случае сюда
(Offline)
 
Ответить с цитированием
Старый 11.12.2009, 17:56   #4
shyrikkk
Нуждающийся
 
Регистрация: 11.12.2009
Сообщений: 77
Написано 2 полезных сообщений
(для 2 пользователей)
Счастье Ответ: помогите с выстрелом в объекты

Сообщение от Павел Посмотреть сообщение
Ээх ребят, я чуть чуть поугорал над кодом))))
Shyrikk, во первых, делать два цикла For D.Dude не обязательно, достаточно лишь один раз пройтись по ним, и поставить три условия - улетел "за 150", врезался в стену, и врезался в другого чувака.
Вот смотри:

[code=blitzbasic]
For d.Dude=Each Dude
Death=false ;Довольно важный момент
MoveEntity d\entity,0,0,2
;первое условие - расстояние от камеры
If EntityDistance(cam,d\entity)>150 then Death=true
If EntityDistance (d\entity,stena)<5 then Death=true
For D_.dude =each dude ; Переменная D_, чтоб игрока не путать с другими
If D_<>D and entitydistance(D_\entity,D\entity)<5 then
Death=true
;Сдесь создаешь взрыв от шарика
exit
endif
next
If DEATH then
FreeEntity D\entity
Delete D
EndIf
Next

[/code]
Павел спасибо за то что откликнулся !
Я вставил твой код за место моего ,но нащёт удаления самого кубика(стены) неполучаеться как только не пробовать сам я доробатовать программу .
(Offline)
 
Ответить с цитированием
Старый 11.12.2009, 21:39   #5
shyrikkk
Нуждающийся
 
Регистрация: 11.12.2009
Сообщений: 77
Написано 2 полезных сообщений
(для 2 пользователей)
Смех кто поможет с выстрелом в объекты

Мама дорогая а как сделать что б кубик ищез (стена)
Не получаеться у меня ,уже пот на клавиатуру капает !!!
Я весь в мыле от печатания на битце .

НАРОД !!! кто нибудь подскажите как сделать что б обьект удалился в моём примере .

(Offline)
 
Ответить с цитированием
Старый 11.12.2009, 21:48   #6
Taugeshtu
scientist.alien
 
Аватар для Taugeshtu
 
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений
(для 2,593 пользователей)
Ответ: помогите с выстрелом в объекты

Подсказываю:
FreeEntity. Какое такое entity надо free - думай сам, мозги упражнять полезно.
//Раздача удочек окончена, рыбы сегодня нет.
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab.
We LOVE you. We MADE you.
(Offline)
 
Ответить с цитированием
Старый 11.12.2009, 22:29   #7
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: помогите с выстрелом в объекты

мне лень долго вникать в код) ну примерно так:
If *твое условие(расстояние или сталкновение)* Then
FreeEntity d\entity : Delete d
Endif
Так если я не ошибаюсь.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
shyrikkk (11.12.2009)
Старый 11.12.2009, 23:36   #8
shyrikkk
Нуждающийся
 
Регистрация: 11.12.2009
Сообщений: 77
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: помогите с выстрелом в объекты

Сообщение от Igorian Посмотреть сообщение
мне лень долго вникать в код) ну примерно так:

Так если я не ошибаюсь.
про этот код который ты написал я знаю как начал изучать BLITZ
дело втом что у меня шарик - это переменная (на шарик можно сделать что б он ищезал)
а вот стена это обьект один и его просто так командной FreeEntity не удолишь , выводит сообщение и прирывает программу и из памяти этот обьект не удоляеться .

ПЛАЧУ
(Offline)
 
Ответить с цитированием
Старый 15.12.2009, 19:38   #9
Артем Валерьевич
Бывалый
 
Аватар для Артем Валерьевич
 
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений
(для 1,079 пользователей)
Ответ: помогите с выстрелом в объекты

Напиши тоже самое, как для шарика, со стеной, и потом проходись по типам стены и шарика и удаляй то что тебе нужно
(Offline)
 
Ответить с цитированием
Старый 17.12.2009, 17:34   #10
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: помогите с выстрелом в объекты

Шурик, первый урок: Не используй для таких целей обычные переменные. Юзай одну очень хорошую вещь: ТИПЫ. Создаешь тип Global_, и туда уже пихай свои глобальные переменные, в данном сучае ссылку на стену. Потом , делай условие не столкнулся ли шарик со стеной??? Если да, то :
1) Ищем в Global_ нашу стену. Удоляем ее. Выгружаем ссылку на стену из памяти(Delete [ссылка]). все. ее больше не будет в памяи и обратиться к ней не сможешь. И проверка на Null тебе в помощь ЗЫ для незнающих: Null - объект, который не существует

Последний раз редактировалось Reizel, 17.12.2009 в 17:35. Причина: Написал "Узай" вместо "Юзай":):):)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Reizel за это полезное сообщение:
Arton (18.12.2009), shyrikkk (18.12.2009)
Старый 16.01.2010, 20:29   #11
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: помогите с выстрелом в объекты

может и не в тему, а как можно замутить такую же фигню если вместо шарика модель пули? ну и чтобы на месте столкновения появлялась деколь от выстрела
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Старый 16.01.2010, 22:35   #12
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: помогите с выстрелом в объекты

Colossus,если модель пули небольшая - то это маразм. Спрайты forever. А вообще модель пули или шарика - только по форме отличаются, ну и участком памяти
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
shyrikkk (17.01.2010)
Старый 17.01.2010, 20:26   #13
shyrikkk
Нуждающийся
 
Регистрация: 11.12.2009
Сообщений: 77
Написано 2 полезных сообщений
(для 2 пользователей)
Плохо мощный вопрос !!!!!!!!!!!!!!!!!!!!!!!!!

У МЕНЯ сверх мощный вопрос !!! он немного по текстурам и строению !!!
много видел в играх разных, огромные дырки в кирпичных стенах,
или всякие руины из кирпича - !!!
МАЛЕНЬКИЙ вопрос как так сделано ???
ИЛИ как нанести текстуры на стенку что ббыли видны в дырке обломки кирпича !!!???????????
(Offline)
 
Ответить с цитированием
Старый 17.01.2010, 22:17   #14
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: помогите с выстрелом в объекты

не забивай голову подобными вещами Это сложно
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nuprahtor (17.01.2010)
Старый 22.01.2010, 14:22   #15
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: помогите с выстрелом в объекты

ну вот допустим как мне зафиксировать коллизию пули с ботом? бот идет как аниммешь а коллизии у него чото стремные... вот как мне замутить всю это баньку?
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически создаваемые объекты <-TzX-> Delphi 10 08.12.2009 23:29
PhysX и компаунд-объекты Николай Библиотеки 3 06.12.2009 01:02
Светящиеся объекты и клавиши Crystal 3D-программирование 2 31.07.2007 23:15
Объекты в одном сюрфейсе mr.DIMAS 3D-программирование 3 15.04.2007 22:13
Интерактивные объекты mr.DIMAS 3D-программирование 4 25.02.2007 22:34


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


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