Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Тертис, посмотрите скрипт.
 
 автор: Wyfinger   (29.08.2007 в 09:28)   письмо автору
 
 

Написал тетрис на JavaScript, все работает в Opera и FireFox, а с IE какие-то проблемы, не ловятся нажатия клавиш и формы не позиционируются по центру (это решить легко, просто лень).

Писал, что называется Jast For Fan.

Посмторите, жду мнений, предложений, комментариев.

   
 
 автор: CNT   (29.08.2007 в 18:24)   письмо автору
 
   для: Wyfinger   (29.08.2007 в 09:28)
 

1. Событие onkeydown в MSIE применимо для объектов: A, ACRONYM, ADDRESS, APPLET, AREA, B, BDO, BIG, BLOCKQUOTE, body, BUTTON, CAPTION, CENTER, CITE, CODE, custom, DD, DEL, DFN, DIR, DIV, document, DT, EM, FIELDSET, FONT, FORM, Hn, HR, I, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=image, INPUT type=password, INPUT type=radio, INPUT type=reset, INPUT type=submit, INPUT type=text, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, NEXTID, NOBR, OBJECT, OL, P, PLAINTEXT, PRE, Q, RT, RUBY, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP

Как видите, объекта window в этом списке нет, как вам ранее в другой теме и указали.
Поэтому используйте document, который "на ура" сработает и в Mozilla

2. Строку window.captureEvents (Event.KEYPRESS); можете смело удалять - ни на что не влияет - это пережиток ранних версий Javascript'a, ныне во всех браузерах преодолён.

3. В функции GameStart вы используете конструкции this.innerWidth и this.innerHeight - MSIE не понимает, что такое this в этом контексте и вовсе не понимает, что такое innerWidth и innerHeight. Для MSIE здесь надо использовать document.body.offsetWidth и document.body.offsetHeight

4. В функциях ShowPause и ShowGameOver у вас та же ошибка, что описана в п.3, при паузе и при окончании игры.

Ну а в общем - неплохо.
Дизайн, разумеется, мог быть и получше. Цветовые решения фигур - пооригинальнее.
Но к аналитике претензий почти нет. Ну, кроме, разумеется, неработающей кнопки закрытия окон диалога и самого игрового поля - зачем "прилепили", для красоты? :-)

PS. И обязательно добавьте к списку фигур еще и "крестик" - без "крестика" тетрис не будет полноценным :-)

   
 
 автор: Wyfinger   (29.08.2007 в 23:41)   письмо автору
 
   для: CNT   (29.08.2007 в 18:24)
 

1. Спасибо.

2. Спасибо. Весь код захвата клавиш я взял с готового примера.

3. Это как-раз то, о чем я говорил, что исправить можно, просто лень; исправим.

4. Аналогично п.3.

И крестик, да, просто для вида.
Крестика среди фигур быть и не должно, т.к. в тетрисе все фигуры должны состоять из 4 кубиков.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования