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

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

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

Ответ
 
Опции темы
Старый 29.11.2009, 15:28   #1
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
ClearWorld

Буквально недавно начал юзать эту команду и задумался. Она вообще как то влияет? Допустим ну загрузил я 1 уровень перешел на второй. Будут ли вообще как то влиять ресурсы с первого уровня на игру?
(Offline)
 
Ответить с цитированием
Старый 29.11.2009, 16:11   #2
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: ClearWorld

ClearWorld() очищает ентити, браши, текстуры, загруженные в блитц. Как они могут влиять на что-то если их не будет ? разве что выдадут ошибку при попытке доступа к ним.
(Offline)
 
Ответить с цитированием
Старый 29.11.2009, 17:32   #3
is.SarCasm
Бывалый
 
Аватар для is.SarCasm
 
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений
(для 428 пользователей)
Ответ: ClearWorld

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

как ты думаешь что делает эта команда ? правильно
очищает ентити, браши, текстуры, загруженные в блитц
(Offline)
 
Ответить с цитированием
Старый 29.11.2009, 18:04   #5
Dream
быдло
 
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений
(для 1,489 пользователей)
Ответ: ClearWorld

очищает память проще говоря
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Dream за это полезное сообщение:
is.SarCasm (29.11.2009), Nex (30.11.2009), Reks888 (10.12.2009)
Старый 04.12.2009, 02:40   #6
Ky3R_94
Нуждающийся
 
Аватар для Ky3R_94
 
Регистрация: 29.08.2009
Адрес: Україна, Донецьк
Сообщений: 71
Написано 13 полезных сообщений
(для 45 пользователей)
Ответ: ClearWorld

её удобно юзать если влом писать функцию очистки уровня. тогда в апдейте нужно сделать проверку на валидность объекта(энтити и т.п.). если инвалидно, то сносим до конца с помощью delete. но если честно, то пока обходился и без clearworld
__________________
PC: AMD Phenom x4, 4096 MB RAM, Nvidia GeForce 9600GT, Windows Vista
(Offline)
 
Ответить с цитированием
Старый 04.12.2009, 03:56   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ClearWorld

Сообщение от Igorian Посмотреть сообщение
Хм...тогда какой смысл в использовании этой команды... ( я просто понять не могу_
во многом соглашусь. при адекватном менеджементе игровых объектов - команда бесполезна.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Harter (04.12.2009)
Старый 04.12.2009, 12:02   #8
Dzirt
Элита
 
Аватар для Dzirt
 
Регистрация: 16.01.2008
Сообщений: 1,800
Написано 958 полезных сообщений
(для 3,833 пользователей)
Ответ: ClearWorld

Думаю команда создана для новичков(или просто любителей) которые используют Goto.Тогда скелет игр должен выглядеть примерно так:

[initialization]

.new_level
[load resurces]

[main cikle]

Clearworld()

Goto new_level
Если непользоватся типами совсем....и иметь много обектов разного предназначания,то стирать все ручками будет неудобно...именно для єтого она по моему мнению и бЫла создана.
(Offline)
 
Ответить с цитированием
Старый 04.12.2009, 12:16   #9
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: ClearWorld

Программа:
1) инициализация
2) загрузка ресурсов
3) процесс (основной цикл)
4) выгрузка ресурсов (он самый ClearWorld и схожие операции)
В каждой программе её использую на ряду с EndGraphics().
Перед закрытием любого приложения не желательно, а очень важно всё выгружать (у Дяди Пети и так много дел).
Для эксперемента сделай рекурсивный батник который запустит 100 твоих приложений. А потом с ним попробуй.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 04.12.2009, 14:15   #10
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ClearWorld

Сообщение от Randomize Посмотреть сообщение
Программа:

В каждой программе её использую на ряду с EndGraphics().
Перед закрытием любого приложения не желательно, а очень важно всё выгружать (у Дяди Пети и так много дел).
Для эксперемента сделай рекурсивный батник который запустит 100 твоих приложений. А потом с ним попробуй.
http://forum.boolean.name/showpost.p...70&postcount=7
Кстати - перечисленные тобой действа не чистят память от экземпляров типов и проч.
Удаление ентити\имейджей и т.п. логично встроить в "деструкторы" типов, кторые их используют.
Смысла в команде - нет.
Разве что для бета-бета проги, которой не суждено перерасти во что-то серьёзное (раз до сих пор нет деструкторов!), или как тест - всё ли удалено (проверить объём занятой памяти после совей очистки и после топорной).
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
DeadElf (04.12.2009), Harter (04.12.2009)
Старый 04.12.2009, 17:53   #11
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: ClearWorld

У многих в B3D как:
Global чтото=LoadMesh("path")
Global чтото=CreateLight()
Global чтото=CreatePivot()
И прочее
Далее типы, а уж после них цикл.
Говоря о конечных проектах, то большенство проектов играбельных где был сорец я видел именно с такой организацией кода. Тоесть вверху сорца 30-50 глобалов а дальше типы.
Деструкторы в данном случае работают только с памятью типов, а остальное возложено на Дядю Петю.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Старый 04.12.2009, 20:44   #12
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: ClearWorld

вверху сорца 30-50 глобалов а дальше типы.
Думаю, если бы Лебедев был программистом, он бы сказал так
В идеале (в идеале для б3д) код вообще может (должен!) обходиться без глобалов. Известный в ГД человек советовал все их объединять внтри единственного экземлпяра типа для хранения глобальных перменных. Подобный подход улучшает переносимость и модульность кода, избавляет от багов из-за очепяток (т.к. производится контроль существования поля), позволяет ввести глобалы в единую для остальных объектов логику (создал-поюзал-удалил).
То что вы видели, имхо, разновидность Китайского кода. Это что же: вы когда гаджеты на форме делаете, хайдите и удаляете их вручную комбинацией из N повторяющихся строк? Или они всё же хранятся во внутреннем списке (учитывая что в блитце низкая типизация и удобные функции типа EntityClass$( entity ), написать деструктор приемлимого уровня абстракции легко)?
Кроме того - что эе это за ентити-глобалы такие? Даже интересно: террайн? фигня - он элемент уровня и имплементируется в соотвестующий тип! Камера? - относится к абстрактному типу присутсвие_игрока или непосредственно к типу игрок и т.д. и т.п.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
Harter (14.12.2009), Ky3R_94 (06.12.2009)
Старый 04.12.2009, 21:23   #13
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: ClearWorld

На счёт структуры приложения полностью согласен. Программы написаные таким образом более легки к восприятию ибо мы видим чёткие разграничения на уровни абстракции. Я вобще ярый сторонни MVC. Просто в своё время научен горьким опытом, когда сам не мог понять свою писанину.

По поводу проектов:
Все дефолтные примеры в папке Source Blitz3D (чёрт побери)
Особенно проекты с start.bb порадовали.

* Cразу предупреждаю авторов проектов, я нехочу никого обидеть, я просто привожу примеры и это не значит, что ваши проекты плохие.
Проекты "нашего городка":
http://forum.boolean.name/showthread.php?t=10381
http://forum.boolean.name/showthread.php?t=9663
http://forum.boolean.name/showthread.php?t=9643
http://forum.boolean.name/showthread.php?t=9004
http://forum.boolean.name/showthread.php?t=8425
Дальше продолжать не буду, думаю и так понятно.
Разработчику BlitzHacker`а подтвердить это будет не сложно.

Я вобще к чему. Я не доказываю свою правонту или вашу неправоту.
Я просто говорю, что 70-90% кодеров на булке работающих непосредственно с Blitz3D используют именно такой подход при разработке, как я писал выше. В принципе даже в таком "стиле" если можно так выразится может получится отменный игровой проект.
Я считал, что незримо все понимают какими способами сейчас в основном ведётся разработка на B3d. Это можно увидить по многочисленым исходникам, видимо ошибался.

Спасибо за ссылки. Очень улыбнуло
Как уже говорилось, некотором индусам до сих пор платят не за качество, а за количества кода, в результате чего можно встретить подобные шедевры (и это только цветочки!):
if (true) {
    
// какой-то код
} else {
    
// a вот тут чистый profit

__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Harter (14.12.2009), impersonalis (04.12.2009)
Ответ


Опции темы

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

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


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


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