![]() |
Помогите разобраться с багом в игре змейка
Добрый день! Помогите разобраться с багом! Сижу над ним уже 12 часов. Баг в игре змейка. Всё работает хорошо. Кроме того, как змейка сталкивается с левой частью экрана- вылетает непонятная ошибка. Самое странное, что она вылетает после трейс game over , после чего по идее ничего не должно случаться. Error #1010: A term is undefined and has no properties
Заранее большое спасибо! Код AS3:
Код AS3:
|
В будущем используйте тег [АS3][/АS3] для оформления кода.
Чтобы отловить строчку, на которой вылетает ошибка, запустите флешку в режиме отладки. |
Режимом отладки пользовалась. Ошибка описана Error #1010: A term is undefined and has no properties. Больше никакой информации не выдаёт. Пробовала найти ошибку много часов, перед тем как задать вопрос в форум. Если можете помочь- буду рада.
|
На какую строчку ругается?
P.S. Естественно, что ваш код без остальных классов не запускается. |
Ну так важен не только текст ошибки, но и то место, из которого она вываливается. Когда флешка запущена в режиме отладки (ctrl + shift + enter), при возникновении ошибки флеш должен указать на конкретную строчку в коде.
Можно, конечно, долго сидеть и читать код, пытаясь найти ошибку, но зачем тратить время и нервы, когда для этого есть все необходимые инструменты? :) |
Подняла вторую часть кода.
Дебагер жалуется на 75 строчку в объекте Game. Что странно- это случается после trace game over [SWF] D:\FlashWorkspace\snakeGame\bin-debug\snakeGame.swf - 5,993 bytes after decompression game over TypeError: Error #1010: A term is undefined and has no properties. at Game/onEnterFrame()[D:\FlashWorkspace\snakeGame\src\Game.as:75] Вообще не понятно, как он дошёл до 75 строки, когда был уже trace game over. (paused=true).. :) |
Попробуйте :
Код AS3:
|
На 75 строчке вызов функции game_over(). Не до конца вы трейс ошибки нам даёте.
Может ошибка где-то в оставшейся части onEnterFrame, он же продолжит выполняться - конструкции return нет. Или в том месте где у вас обрабатывается turnQueue. |
Return помог, только не понимаю, что он мог изменить. Можете пожалуйста объяснить.
Всё до меня дошло! Он же просто возвращался в функцию. Надо было сделать либо Return либо esle if. Какая тупая ошибка :) Большое спасибо! |
Вот смотрите: Если мы в аутпуте видим "game over", значит у вас выполняется условие:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
Добавлено через 53 секунды return здесь ничего не решает. То есть он нужен, но сначала исправьте ошибку! Добавлено через 8 минут Меня вообще удивляет, как это работает: Код AS3:
|
| Часовой пояс GMT +4, время: 14:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.