11.08.2017 / 19:04 | |
Витаминыч Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| А в чем пррблема создаиь блок травы и от него наследоваттся в каждом мире?
__________________
わからない!! |
11.08.2017 / 19:27 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Витаминыч, К тому что, если так сделаю, то из json файла нужно как сказать коду, что это блок травы. Но! Я то знаю как это сделать, но для каждого json писать строку: "extendsBlock" : "", не очень удобно, и только в траве это будет "extendsBlock" : "grass", Для земли "extendsBlock" : "dirst"
Но, как сделать, что отсутствие ключа это не вызывыало ошибку?
__________________
Смерть правит миром |
11.08.2017 / 19:43 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Цитата Death: Если скажите как избежать ошибки в jsonObject.get... Когда он не находит ключ, то тогда будет хорошо.Парень, а погуглить? Там же есть json.has(...) или что-то типа такого. Тупо посмотреть в доках список методов, которые возвращают boolean, даже английский знать не надо. Вообще, интересно, сюда длинное предложение вписал, а в гугл пару тройку слов не смог, ну как так? __________________
let live Изменено aNNiMON (11.08 / 19:45) (всего 3 раза) |
11.08.2017 / 19:46 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| aNNiMON, То есть я могу boolean узнать о том, есть ли такое поле? UPT: boolean isNull(String key) работает!!! Всё) делаем __________________
Смерть правит миром Изменено Death (11.08 / 19:48) (всего 1 раз) |
11.08.2017 / 19:47 | |
uFooh Пользователь Сейчас: Offline
Имя: Dimitro Откуда: Санкт-Петербург Регистрация: 17.10.2012
| Death, с доками ты можешь всё. Дерзай, гугли.
__________________
No thing is perfecT |
11.08.2017 / 20:41 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Всё! Сделал я всё. Работает. Теперь если есть поле: extendsBlock, то берём с этого ключа строку и определяем по ней какой объект создовать. Так же такие некоторые поля поуберал, как в блоках, так и в предметах. Стало чище и просторнее. Ничего лишнего. Завтра буду делать рост саженцев. Как сделаю - отпишусь, как сделал и результат какой. __________________
Смерть правит миром |
12.08.2017 / 06:50 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Мне пришла в голову идея!
Вот нам нужно, что бы блок рисовался по разному. Например мозле одного блока, у него текстура одна, а возле другого блока у него другая.
Так вот, более точный пример. У нас есть трава. Сверху зарасщено травой. Когда рядом земля, то можно рисовать текстуру, что там плавно трава переходит в землю.
Это можно сделать, легче паренной репы.
Сейчас у меня класс, который рисует блоки, в себе всё рисует, только с блока данные для отображения берёт. А вот если передовать блоку данные для рисования, а там будет сам рисовать, то можно наследнику, трава будет обрабатывать что, когда и где рисовать.
__________________
Смерть правит миром Изменено Death (12.08 / 06:54) (всего 1 раз) |
12.08.2017 / 10:30 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| Сделал. BlocksFinder сделан через Singleton паттерн. У меня два потока демона работают. Один каждые 5 сек траву выращивает. Другой каждый 15 сек выращивает саженец с 5% вероятностью. То есть в минуту вероятность 20%(60 / 15 * 5%). Сделал что бы из json файла задвался саженцу какое дерево вырастит и с какими листьями. Так же сделал StructureTree.generate(World w, int x, int y, int height); Который будет генерировать деревья. От себя. Мне понравилось то как я сделал filter в поиске блоков __________________
Смерть правит миром
Прикрепленные файлы: BlocksFinder.png (14.94 кб.) Скачано 58 раз GrassGrow.png (10.37 кб.) Скачано 59 раз |
12.08.2017 / 13:02 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| В BlocksFinder.png не очень красиво, потому что большая вложенность. Можно инвертировать главное условие, написать if (blockW == null) continue; И else { if (..) {} } легко заменяется на else if (..) { } Должно немного помочь. Вот код в GrassGrow.png пушка __________________
let live Изменено aNNiMON (12.08 / 13:02) (всего 1 раз) |
12.08.2017 / 13:27 | |
Death Пользователь Сейчас: Offline
Имя: Смерть Регистрация: 31.07.2015
| aNNiMON, Рад что тебе понравилось Сейчас я не знаю как сделать освещение. Помогите пожалуйста (Англ ресурсы, прошу переводить, хоть через робота, хоть самим основное) __________________
Смерть правит миром |