Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 09.04.2013, 20:22
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Valdemor
document.onkeydown = function(e) {
if(e.keyCode==37) {
tank.vector = "left";
if(tank.x>0) {
tank.x-=4;
}
}
Сообщение от Valdemor
Вот код движения танка (персонажа).
Сообщение от Valdemor
Какой же дожен быть алгоритм?

как заметил megaupload, всётаки может стоит отрабатывать отпускание клавиши? а то ведь tank.vector = "left"; остаётся

А это значит всё. нет ни хранения , вычисления, перерисовок нет визаульного представления, нет в конце концов работы с dom?

Последний раз редактировалось dmitriymar, 09.04.2013 в 20:24.
Ответить с цитированием
  #22 (permalink)  
Старый 09.04.2013, 20:26
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Valdemor
Поскольку в коде присутствуют объекты, то это 100% ооп
а все переменные хранятся в глобальном объекте -это делает любой код автоматически ооп?
а любая функция, массив ..... это объекты , код с использованием их автоматом ооп?

приведённые строки кода, только из за того что у какого то объекта есть свойство, ооп? да ща . почему это не может быть хешем ? не может быть .....?

Последний раз редактировалось dmitriymar, 09.04.2013 в 20:31.
Ответить с цитированием
  #23 (permalink)  
Старый 09.04.2013, 21:12
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

var keys = {
  up     : false,
  down   : false,
  left   : false,
  right  : false
};

function onkeydown(event){
    if(event.keyKode === 323){
        keys.up = true;
    } else if(event.keyKode === 32) {
        keys.down = true; 
    }
}

function onkeyup(event){
    if(event.keyKode === 323){
        keys.up = false;
    } else if(event.keyKode === 32) {
        keys.down = false; 
    }
}



в keys всегда хранится актуальное состояние нажатых клавиш. кэп

игру он делает, кодить сначала научись нормально..
Ответить с цитированием
  #24 (permalink)  
Старый 09.04.2013, 21:38
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,505

Время обновить подпись.)
__________________
29375, 35
Ответить с цитированием
  #25 (permalink)  
Старый 13.04.2013, 05:05
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Aetae,
а я типа вырос и вылетел из гнезда)?

Последний раз редактировалось megaupload, 13.04.2013 в 06:35.
Ответить с цитированием
  #26 (permalink)  
Старый 13.04.2013, 06:26
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Valdemor Посмотреть сообщение
Поскольку в коде присутствуют объекты, то это 100% ооп
хахаха.

отличный детектор!
Ответить с цитированием
  #27 (permalink)  
Старый 04.05.2013, 01:50
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 30.03.2012
Сообщений: 128

Так я и учусь кодить на таких-вот примерах. Я же не пробую делать Max Payne 3: WebGL, а делаю какие-то гнусные танчики... На этом я и учусь.

Извините, а в чем же проблема моего детектора?
И да, хэш и объект - одно и то же самое. Цитирую (с javascript.ru):
"Объекты (они же - ассоциативные массивы, хэши)..."
Так что не надо писать, что я нуб, сами выучите ассемблер матчасть

Последний раз редактировалось Valdemor, 04.05.2013 в 01:56.
Ответить с цитированием
  #28 (permalink)  
Старый 04.05.2013, 17:21
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от qwerty-клавиатура
 
Регистрация: 12.04.2013
Сообщений: 132

var pressed = [],
     left = 37,
     up = 38,
     right = 39,
     down = 40;

addEventListener( 'keydown', function(ev) {
    pressed[ev.keyCode] = 1;
} );

addEventListener( 'keyup', function(ev) {
    pressed[ev.keyCode] = 0;
} );

addEventListener( 'load', function() { if (pressed[left] && pressed[up]) {/*...*/} } );
Ответить с цитированием
  #29 (permalink)  
Старый 04.05.2013, 17:44
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 30.03.2012
Сообщений: 128

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34