Вниз  Общие вопросы
- 11.08.2017 / 19:04
Витаминыч
  Супермодератор

Витаминыч 
Сейчас: Offline
А в чем пррблема создаиь блок травы и от него наследоваттся в каждом мире?
__________________
 わからない!!
- 11.08.2017 / 19:27
Death
  Пользователь

Death 
Сейчас: Offline
Витаминыч, К тому что, если так сделаю, то из json файла нужно как сказать коду, что это блок травы. Но! Я то знаю как это сделать, но для каждого json писать строку:
"extendsBlock" : "",
не очень удобно, и только в траве это будет
"extendsBlock" : "grass",
Для земли
"extendsBlock" : "dirst"

Но, как сделать, что отсутствие ключа это не вызывыало ошибку?
__________________
 Смерть правит миром
- 11.08.2017 / 19:43
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Цитата Death:
Если скажите как избежать ошибки в jsonObject.get... Когда он не находит ключ, то тогда будет хорошо.
Парень, а погуглить? Там же есть json.has(...) или что-то типа такого. Тупо посмотреть в доках список методов, которые возвращают boolean, даже английский знать не надо.

Вообще, интересно, сюда длинное предложение вписал, а в гугл пару тройку слов не смог, ну как так? :gg:
__________________
 let live

Изменено aNNiMON (11.08 / 19:45) (всего 3 раза)
- 11.08.2017 / 19:46
Death
  Пользователь

Death 
Сейчас: Offline
aNNiMON, То есть я могу boolean узнать о том, есть ли такое поле?

UPT: boolean isNull(String key) работает!!! Всё) делаем :мм:
__________________
 Смерть правит миром

Изменено Death (11.08 / 19:48) (всего 1 раз)
- 11.08.2017 / 19:47
uFooh
  Пользователь

uFooh 
Сейчас: Offline
Death, с доками ты можешь всё. Дерзай, гугли.
__________________
 No thing is perfecT
- 11.08.2017 / 20:41
Death
  Пользователь

Death 
Сейчас: Offline
Всё! Сделал я всё. Работает. Теперь если есть поле:
extendsBlock, то берём с этого ключа строку и определяем по ней какой объект создовать.

Так же такие некоторые поля поуберал, как в блоках, так и в предметах. Стало чище и просторнее. Ничего лишнего. :мм:

Завтра буду делать рост саженцев. Как сделаю - отпишусь, как сделал и результат какой.
__________________
 Смерть правит миром
- 12.08.2017 / 06:50
Death
  Пользователь

Death 
Сейчас: Offline
Мне пришла в голову идея!

Вот нам нужно, что бы блок рисовался по разному. Например мозле одного блока, у него текстура одна, а возле другого блока у него другая.

Так вот, более точный пример. У нас есть трава. Сверху зарасщено травой. Когда рядом земля, то можно рисовать текстуру, что там плавно трава переходит в землю.

Это можно сделать, легче паренной репы.

Сейчас у меня класс, который рисует блоки, в себе всё рисует, только с блока данные для отображения берёт. А вот если передовать блоку данные для рисования, а там будет сам рисовать, то можно наследнику, трава будет обрабатывать что, когда и где рисовать.
__________________
 Смерть правит миром

Изменено Death (12.08 / 06:54) (всего 1 раз)
- 12.08.2017 / 10:30
Death
  Пользователь

Death 
Сейчас: Offline
Сделал. :мм:

BlocksFinder сделан через Singleton паттерн.

У меня два потока демона работают. Один каждые 5 сек траву выращивает. Другой каждый 15 сек выращивает саженец с 5% вероятностью. То есть в минуту вероятность 20%(60 / 15 * 5%).

Сделал что бы из json файла задвался саженцу какое дерево вырастит и с какими листьями.

Так же сделал StructureTree.generate(World w, int x, int y, int height);
Который будет генерировать деревья.

:ps: От себя. Мне понравилось то как я сделал filter в поиске блоков :-D
__________________
 Смерть правит миром


Прикрепленные файлы:
BlocksFinder.png (14.94 кб.) Скачано 53 раза
GrassGrow.png (10.37 кб.) Скачано 55 раз
- 12.08.2017 / 13:02
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
В BlocksFinder.png не очень красиво, потому что большая вложенность.
Можно инвертировать главное условие, написать if (blockW == null) continue;
И else { if (..) {} } легко заменяется на else if (..) { }
Должно немного помочь.

Вот код в GrassGrow.png пушка :kul2:
__________________
 let live

Изменено aNNiMON (12.08 / 13:02) (всего 1 раз)
- 12.08.2017 / 13:27
Death
  Пользователь

Death 
Сейчас: Offline
aNNiMON, Рад что тебе понравилось :-D

Сейчас я не знаю как сделать освещение. Помогите пожалуйста :)

(Англ ресурсы, прошу переводить, хоть через робота, хоть самим основное)
__________________
 Смерть правит миром
Наверх  Всего сообщений: 1673
Фильтровать сообщения
Поиск по теме
Файлы топика (38)