1.02.2016 / 12:17 | |
Bogdan-G Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| Alexandr, байт-код это байт-код, игра это игра, не подменяй понятия. Как адаптируют раскладку в играх с других телефонов?в гугле ничего не сказали? я помню в гугле сам находил.
|
1.02.2016 / 12:51 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| Bogdan-G, в чем именно подмена понятий? Для адаптации игры без исходников, нужно ковырять байт-код, что не так?
|
1.02.2016 / 13:11 | |
Bogdan-G Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| Alexandr, смотря какие игры
|
1.02.2016 / 13:21 | |
mrEDitor Пользователь Сейчас: Offline
Имя: Эдуард Откуда: Новороссийск » Таганрог Регистрация: 13.03.2011
| Не путайте человека, всё так. Декомпилируешь игру, разбираешься, где код, отвечающий за обработку ввода, по ситуации редактируешь соответствующий ему байткод. Как ни странно, в разных играх код разный. |
1.02.2016 / 13:33 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| Подскажите как можно переделать кнопки навигации в играх. Классы в которых я нашел методы keyReleased(int), keyRepeated(int), keyPressed(int) извлек и открыл в байт-код едиторе. теперь бы хотелось узнать как найти переменные с кодами клавиш, и куда подевались все константы типа KEY_NUM, FIRE?
|
1.02.2016 / 13:41 | |
mrEDitor Пользователь Сейчас: Offline
Имя: Эдуард Откуда: Новороссийск » Таганрог Регистрация: 13.03.2011
| Alexandr, структуру классов знаешь? В самом коде методов только что-то вроде ссылок на константы, которые располагаются в другой части класса. Проще всего будет объяснить, если ты сюда класс скинешь, прямо на его примере.
|
1.02.2016 / 13:52 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| mrEDitor, KeyPressed в исходнике Открыть спойлер Закрыть спойлер public void keyPressed(int keyCode) {
if (keyCode == 48) Main.midlet.destroyApp(true); // выходим
switch (keyCode){
case KEY_NUM1:
if (onAir == false){
jump = 2;
onAir = true;
}
break;
case KEY_NUM3:
if (onAir == false){
jump = 3;
onAir = true;
}
break;
}
switch (getGameAction(keyCode)) {
case UP:
if (onAir == false){
jump = 1;
onAir = true;
}
break;
case LEFT:
moveLeft = true;
break;
case RIGHT:
moveRight = true;
break;
case FIRE:
//none
break;
}
}
с структурой классов, плохо знаком
Прикрепленные файлы: Platformer.class (9.29 кб.) Скачано 683 раза |
1.02.2016 / 13:55 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Alexandr, Что за игра? |
1.02.2016 / 13:57 | |
Alexandr Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| Magatino, моя |
1.02.2016 / 14:08 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Alexandr, KEY_NUM1, KEY_NUM2 и вообще все константы заменяются на числовые значения во время компиляции, если только не было компиляции с сохранением информации для отладки. Так что смотри значение констант в документации класса Canvas, ищи эти коды в байткоде и меняй. Но, чтоб ты не лез в доки, скажу, что коды клавиш 0 - 9, * и # точно такие же как и в ASCII. KEY_NUM0 имеет код 48, далее идёт всё по порядку 1 - 49, 2 - 50, ..., KEY_NUM9 - 57.
__________________
let live Изменено aNNiMON (1.02 / 14:09) (всего 1 раз) |