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

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

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

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

Ответ
 
Опции темы
Старый 04.01.2010, 15:47   #1
Petrofan
ПроЭктировщик
 
Аватар для Petrofan
 
Регистрация: 26.08.2008
Сообщений: 149
Написано 10 полезных сообщений
(для 18 пользователей)
Взрыв (Вооомм)

Судя по названию темы вы догадались о чем пойдет речь. Хочу сделать взрыв бочек. Вчера вечером сел писать код. Хотел сделать универсальные функции чтобы можна было присобачить ее к любому обекту и когда но нему пальнуть он подрывается (я имею в виду обект с горючим), так вот невыходит чет у меня. С типами у меня по жызни проблеми, никак немогу разобратся с ними.Значит выложу пример того что я набросал. Может поможете
Вложения
Тип файла: zip Explode.zip (536.6 Кб, 444 просмотров)
(Offline)
 
Ответить с цитированием
Старый 04.01.2010, 17:20   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Взрыв (Вооомм)

Function UpdateBarrels()
    If Pick>entity Then
        For b.Barrels=Each Barrels
            
            entity=Pick
            FreeEntity b\entity 
            Delete b
            Exit 
            
        ;EndIf
        ;EndIf
        Next
    EndIf
    If entity Then    UpdateExplodeBarrels(cam)
End Function
Это ппц бессмыслица. Объясни словами что ты хотел этим добиться. Удалить все бочки сразу?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Старый 04.01.2010, 17:22   #3
Petrofan
ПроЭктировщик
 
Аватар для Petrofan
 
Регистрация: 26.08.2008
Сообщений: 149
Написано 10 полезных сообщений
(для 18 пользователей)
Ответ: Взрыв (Вооомм)

Ну типа если пикнут обект то подорвать его.
(Offline)
 
Ответить с цитированием
Старый 04.01.2010, 17:35   #4
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Взрыв (Вооомм)

сделай поле для нужного типа, типа (каламбурчик )))) IsExploding=1/0
и при апдейте смотри что должно взрыватся, а что нет.
(Offline)
 
Ответить с цитированием
Старый 04.01.2010, 17:36   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Взрыв (Вооомм)

У тебя в UpdateExplodeBarrels взрывы происходят без всякой проверки на то, какой именно нужно взрывать. И зачем ты заранее создаёшь объекты ExplodeBarrels ?
По-хорошему, объект взрыва надо создавать в момент самого взрыва и тут же его активировать.
В-общем, надо полностью пересмотреть структуру
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Старый 04.01.2010, 17:42   #6
Petrofan
ПроЭктировщик
 
Аватар для Petrofan
 
Регистрация: 26.08.2008
Сообщений: 149
Написано 10 полезных сообщений
(для 18 пользователей)
Ответ: Взрыв (Вооомм)

Я просто неочень знаю как обращатся с типами и может в этом проблема может кто нить обяснить попреличней чтобы дать урок мне и другим пользователям которим это тоже непонятно. Паперед спасибо !
(Offline)
 
Ответить с цитированием
Старый 04.01.2010, 17:55   #7
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Взрыв (Вооомм)

http://forum.boolean.name/showthread.php?t=10
FAQ!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Petrofan (04.01.2010)
Старый 11.01.2010, 13:52   #8
Petrofan
ПроЭктировщик
 
Аватар для Petrofan
 
Регистрация: 26.08.2008
Сообщений: 149
Написано 10 полезных сообщений
(для 18 пользователей)
Ответ: Взрыв (Вооомм)

Немного подумал, почитал топик, и вроде чтото получилось пришлось все переделать (Автомату большое спасибо !!!) Попробуйте посмотрите так ли я сделал или это через жопу
Вложения
Тип файла: zip Booms.zip (869.5 Кб, 436 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (04.02.2010)
Старый 11.01.2010, 15:11   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Взрыв (Вооомм)

If o\aa#=1
PlaySound ddd
EndIf

If o\life#<1
EntityAlpha o\entity,0
o\aa#=o\aa#+1
EndIf
EntityTexture o\box,Boom,o\aa#
If o\aa#>23

FreeEntity o\entity
Delete o
EndIf
Вот это сунуть внутрь условия If Pick=o\entity
И в конце выходить из цикла exit'ом, когда уже всё что хотел с бочкой сделал.
И условие click=1 вынести за пределы перебора, т.е. чтобы перебор выполнялся только при клике, а не всё время. Всё равно же бочка не взорвётся если не кликают, а время процессора экономим.

Ну так, вроде всё, относительно нормально (главное что слава богу работает)
А вообще по-хорошему нужен класс barrel, у которого был бы метод blow, в котором бы уничтожалась бочка и создавался объект класса spark.
Тогда чтобы уничтожить бочку получаем простое и удобное
barrel b;
b->blow();
На блице без ООП было бы что-то типа:
b.barrel = CreateBarrel()
BarrelBlow(b)
Где CreateBarrel - создаёт, а BarrelBlow - взрывает.

З.Ы. Перечитал исходник - =-O в рот мои ноги, вспышка от взрыва обрабатывается в том же цикле. Тогда просто так вынести условие клика не получится.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ядерный взрыв Mark Castle 3D-программирование 24 03.03.2009 01:05
Взрыв бомбочки Fant 3D-программирование 12 04.09.2007 15:40
Ядерный взрыв HolyDel 3D-программирование 18 25.06.2007 12:30
Взрыв SubZer0 Полезные функции 2 04.09.2005 22:38


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


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