Комментарии: libGDX: Часть 2.1. Архитектура игры на основе scene2d/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/Блог о разработке игр и серверных технологияхSun, 16 Feb 2020 03:56:16 +0000hourly1https://wordpress.org/?v=5.1.19Автор: FatalError/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12267Mon, 07 Jul 2014 14:11:03 +0000/?p=2464#comment-12267Автор, ты молодец, но без обид… У меня вопрос, на какой уровень программировантия расчитан материал? Если для учеников, то за каким у тебя есть фразы «кое-что добавлено, не хочу на этом останавливаться», есть целые строки кода без обьяснений, за чем там эта строка, что она делает, что будет если ее удалить или перенести в другое место, как ее можно еще задействовать … Если на более проффесиональных програмеров, то на кой им учебник азов? Это как учителя по математике учить математики, а обезьянам пытаться обьяснить квантовую физику… Был очень рад найти подобный учебный материал, но чем дальше в лес тем больше дров…

]]>
Автор: Никита/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12236Sat, 26 Apr 2014 21:24:51 +0000/?p=2464#comment-12236Да это так. Но когда дело доходит до использования touchDragged (использую MVC) , то активным касанием будет последнее. То есть если мы проведем сначала одним пальцем ( pointer 0) потоп другим (pointer 1), то активно будет pointer=1. Не подскажите как можно сделать чтобы была обработка нескольких пальцев на touchDragged?

]]>
Автор: Suvitruf/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12235Sat, 26 Apr 2014 21:03:06 +0000/?p=2464#comment-12235Ну да. Мультитач же поддерживается.

]]>
Автор: Никита/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12234Sat, 26 Apr 2014 20:45:00 +0000/?p=2464#comment-12234А есть ли возможность сделать так чтобы каждый актер перемещался: нажимаешь на одного, другим пальцем на другого и тащищ каждым пальцем каждого куда нужно? Просто сам пишу игру где нужно сделать одновременное перетаскивание объектов пальцами.

]]>
Автор: Suvitruf/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12210Wed, 26 Mar 2014 09:46:58 +0000/?p=2464#comment-12210Все регионы и текстуры я сам гружу в Game один раз, а потом уже к ним обращаюсь. Проблемы не было, так как у меня графика 8-bit. По-сему, памяти они жрали не так много. Если же у вас HD текстуры, то при огромном их количестве и единовременной загрузке может случиться оверхед, приложение просто упадёт =/

]]>
Автор: Gavolot/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12206Sun, 23 Mar 2014 00:33:07 +0000/?p=2464#comment-12206А вот спросить все хочу. Правильно ли я делаю, что все регионы текстуры загружаю в самом Game и пихаю их в статические методы класса ResourseControl, там в нем ассоциативный массив из которого я и вытягиваю уже загруженные регионы по имени. Не выйдет ли мне это боком потом? Или наоборот нормально, что не нужно брать регион и загружать все-время при создании объекта?

]]>
Автор: Gavolot/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12205Sun, 23 Mar 2014 00:29:40 +0000/?p=2464#comment-12205Перейдя с Love2D на java, пишу игру на Game->Screen системе. Я явно не профессионал) однако эта система мне реально ближе, почитал тутор и комментарии. Тут дело не в том, что автор для себя пишет. Просто, если он использует систему контроллеров, то оно и понятно почему все так не развернуто.
Как разберусь с подобным, обязательно подумаю о том как бы написать статью на эту тему. Как лично сам с этим работал, без претензий на неправильность подхода конечно) Если честно, подводя итоги, хочу сказать, что часто не могу понять людей, которым MVC ближе. Все-же разделение scene2D более «по человечески» правильно. Для каждого Screen свой Stage рисующий объекты. унаследовав их Actor пришлось писать еще свой «фундаментальный Actor», а потом все пошло довольно хорошо. Например логика столкновения корабля с планетами я сделал прямо в корабле. Конечно мое решение мягко говоря возможно корявое, само исполнение я имею ввиду.

protected void checkCollision(){
if(this.getStage() != null){
for(int i = 0; i<this.getStage().getActors().size; i++){
@SuppressWarnings("rawtypes")
Class nameClass = this.getStage().getActors().get(i).getClass();
Planet planet;
if(nameClass == Planet.class){
planet = (Planet)this.getStage().getActors().get(i);
if(AddMath.checkCircularCollision(this.getX(), this.getY(),
planet.getX(), planet.getY(), this.getWidth()/3, planet.getWidth()/3)){
if(this.getTeam() != planet.getTeam()){
planet.setShips(planet.getShips()-this.getHealth());
this.setDisposed(true);
}
else {
planet.setShips(planet.getShips()+this.getHealth());
this.setDisposed(true);
}
}

}
}
}
}

Однако так как-то логичнее же, что такие вещи делаются внутри объекта и потом нигде не мазолят глаза) А сами уровни. Например уровень с рандомным расставлением сделать в RandomScreen, а для компаний уже сделать отдельные LevelOneScreen, LevelTwoScreen… и там вести всю особенную для этих уникальных уровней работу. Конечно если уровни именно предустановленные, а не сделанные в редакторе) Это уже другой вопрос. Это мне напоминает логику работы в том же конструкторе, только все как на ладоне в отличии от того же Game-maker.
P.S. извините за мой русский и это не отговорка, что я пишу ночью. Просто я такой, какой есть) Безграмотный сами знаете кто.

]]>
Автор: Tmin10/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12159Mon, 20 Jan 2014 18:22:36 +0000/?p=2464#comment-12159Спасибо за уроки, но вы бы устранили ошибки в коде.
Для тех, у кого с новой версией либы ничего не рисует, стоит посмотреть на метод draw класса Player, правильная сигнатура теперь такая:
draw(Batch batch, float parentAlfa)

]]>
Автор: Dmitry/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12125Wed, 11 Dec 2013 12:03:37 +0000/?p=2464#comment-12125я пропробовал менять параметры камеры в Stage припомощи getCamera там работает действительно все работает и вращение и перемещение (с абсолютными координатами)

]]>
Автор: Suvitruf/2012/10/31/2464/libgdx-chast-2-1-arxitektura-igry-na-osnove-scene2d/#comment-12124Wed, 11 Dec 2013 11:46:55 +0000/?p=2464#comment-12124На основе примеров я делал свою архитектуру. А эта статья — результат переделки моей архитектуры на scene2d)

]]>