11.12.2014 / 20:41 | |
aNNiMON Супервизор Сейчас: Online
Имя: Витёк Регистрация: 11.01.2010
| Цитата Oak: Это не бейсик, используй более высоко-ориентированные интерфейсыChallenge Accepted Challenge Accepted public interface Substractor<T> {
T substract(T minuend, T subtrahend);
}
public abstract class AbstractSubstractor<T> implements Substractor<T> {
protected T minuend;
public AbstractSubstractor(T value) {
this.minuend = value;
}
public final T substract(T subtrahend) {
return substract(minuend, subtrahend);
}
}
public class DoubleSubstractor extends AbstractSubstractor<Double> {
@Override
Double substract(Double minuend, Double subtrahend) {
return minuend.doubleValue() - subtrahend.doubleValue();
}
}
public interface Inverter<T> {
T invert(T value);
}
public abstract class AbstractInverter<T> implements Inverter<T> {
protected T value;
public AbstractInverter(T value) {
this.value = value;
}
}
public class AxisInverter extends AbstractInverter<Double> {
private final AbstractSubstractor substractor;
public AxisInverter(Double value) {
super(value);
substractor = new DoubleSubstractor(value);
}
@Override
public Double invert(Double value) {
return substractor.substract(value.doubleValue());
}
}
// Использование
private AxisInverter axisInverter;
public void create() {
axisInverter = new AxisInverter(Gdx.graphics.getHeight());
...
double touchY = axisInverter.invert(Gdx.input.getY());
}
__________________
let live Изменено aNNiMON (12.12 / 01:26) (всего 6 раз) |
11.12.2014 / 20:43 | |
Its_Your_Soul Пользователь Сейчас: Offline
Имя: Саша Откуда: Винница Регистрация: 29.08.2012
| Kalter, Я вообще то юзаю InputProccesor , а тот код для примера |
12.12.2014 / 21:29 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Цитата Its_Your_Soul: aNNiMON, Там просто идиотизм какой то : обработка нажатий происходит в системе где координаты 0,0 находятся в верхней левой точке экрана . А вот отрисовка в системе где 0,0 находятся в нижней левой тсогласен, там жесть с координатами Запихивал TiledMap в ScrollPane и делал ее зум два дня. |
12.12.2014 / 21:38 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Its_Your_Soul, Есть еще GestureDetector, более высокоуровневый, также у Actor есть разные методы определения нажатий (там вроде и координаты не нужны, Stage сам определит, и сгенерирует событие) но я с этим еще не работал
|
12.12.2014 / 21:58 | |
Its_Your_Soul Пользователь Сейчас: Offline
Имя: Саша Откуда: Винница Регистрация: 29.08.2012
| Naik, Я пробовал юзать этот GestureDetector , переопределял метод touchDown - ноль реакции |
12.12.2014 / 22:31 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Its_Your_Soul, Это не забыл? InputMultiplexer im = new InputMultiplexer();
im.addProcessor(new GestureDetector(gestureListener));
Gdx.input.setInputProcessor(im);
|
12.12.2014 / 22:54 | |
Its_Your_Soul Пользователь Сейчас: Offline
Имя: Саша Откуда: Винница Регистрация: 29.08.2012
| Naik, О , что то новое попробую заюзать . |
13.12.2014 / 01:54 | |
eNvisible Пользователь Сейчас: Offline
Имя: **** Откуда: В России. Регистрация: 19.07.2014
| Вам хорошо. Вы там в gdx шарите). А я... А я опять пытаюсь заново слепить первый уровень к игре( Решил карту тайловой сделать и тока вчера научил игрока стоять как надо на тайлах и не проваливаться, и головой чтоб потолок не пробивал. Да вот думаю какой размер карты делать, а то у меня и игрок, враги и снаряды посредством итератора добавляются... И вот когда этого всего много - fps сильно проседает( Всё же с картой на столкновения проверяется... Надо как-то оптимизировать. Игра будет под экраны от 480x800 по 600x1024 примерно...
Изменено eNvisible (13.12 / 01:56) (всего 2 раза) |
13.12.2014 / 05:01 | |
Kalter Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| eNvisible, там всё просто. Смотри исходники платформеров. Но это может надолго затянуться, игру приличную сделать не успеешь.
__________________
Homo homini penis est. |
13.12.2014 / 05:37 | |
eNvisible Пользователь Сейчас: Offline
Имя: **** Откуда: В России. Регистрация: 19.07.2014
| Kalter, Времени мало остаётся. Некогда чужие исходники разглядывать) Что-нибудь придумаю...
|