![]() |
Почему виснет флешка?
Я создаю игру, пока получается всё кроме 1 вещи - почемуто виснет флэш при выполнении некоторых кодов, пишет И"з-за скрипта, флэш ролик будет выполняться очень медленно. Остановить выполнение сценария?" . Причем в них совершенно нет ничего такого, отчего флэш могбы виснуть.
По теории так быть недолжно.Посмотрите пожалуйста исходник. http://upload2.net/page/download/mGc...tform.fla.html Коды при которых виснет флэш я выделил серым. 1 код в главной временной шкале, а 2 в клипе "enemy11". |
У меня почему-то не хочет открываться твой файл. Какая версия Флеша? Флешки и вообще программы виснут в основном из-за бесконечных циклов. Ты проверь если у тебя в коде есть циклы, то выполняются ли условия для них. Если условия не будут выполняться, то это будет бесконечный цикл и соответственно зависание.
|
Возможно также, что твой комп не в состоянии обработать цикл определеного кол-ва. Я, например на пне третьем циклом прибавлю к переменной +1 10000 раз, то увижу такое же сообщение.
|
Флэш у меня 8. Азу на компе стоит 512, да и дело не в нём.
Циклов у меня нет. Всё работает идеально, до того как в действие вступает 1 из 3 кодов. 1) Код:
if (hit(bс, level)) {2) Код:
if (this.hitTest(_root.bc)) {3) Код:
if (hit(bd, enemy11)) {В чом дело немогу понять. А кстати, что пишет когда неоткрывается? Я сделал "сохранить и сжать" может из-за этого? |
Первая мысль - в твоей программе под 200000 hitTest-ов за раз вызывается (в функции hit) Пом это дохрена - пошоруди в этой функции
|
Диспетчер задач показывает загрузку процессора 99% - это жэсть.. Вероятно тот блок просто-напросто добивает систему..))
|
200000 я не нашел, от 442 до 999 за раз, но все равно это много, а учитывая фпс 120, вобще ужас. Флешка на моем Core 2 Duo 6700 конечно не виснет, но подтормаживает, и одно ядро грузит по полной.
|
попытался вникнуть в код... мама рОдная...
1.panel.power.text обновлять 120 раз в секунду не стоит.(равно как и все остальное) 2.Все эти bc,br,bl... нужно запихнуть внутрь thisball_mc и писать thisball_mc._x+=** вместо того чтобы двигать их по отдельности. А вообще, лучше избавься от них. 3.нафига нужна ф-я hit я вообще не понимаю. по-моему никто еще не отменил конструкции типа if (thisball.hittest(level)){ здесь в неск строчек без всяких bc,br..можно проверить: какая из сторон столкнулась с level-ом } 3а)если уж используешь bl/br, то замени их на простые дуги, вместе образующие круг. 4.Пропиши функции moveThisBallRight(),moveThisBallLeft()... и используй их при столкновениях и нажатиях, либо вообще ужми код до 1й ф-ии moveThisBall 5,6,7,.........∞ :) З.Ы.2iNils: ответь пожалуйста на мой вчерашний вопрос по поводу шрифтов и памяти - понять хочу. |
Цитата:
Цитата:
Цитата:
Цитата:
и объясни пожалуйста остальные -4 ,5 ,6 ,.... может чтонибудь исправлю. Проблема была не в fps и множественных провеках.У меня 512 азу и 2.4 проц, невиснет совсем когда я исправил глюки: в 1 случае я просто удалил код и написал его же заново-точно такойже, и ЭВРИКА!!!! - перестало виснуть. во 2 случае место gotoAndPlay я стал убавлять переменную lives и потом уже использовал gotoAndPlay и тоже перестало виснуть, хотя в причинах я неразобрался досихпор. Fps по прежнему 120, и кстати, почему он так медленно падает? по скрипту он должен палать на 480 пикселей, а там явно не дотягивает. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
З.Ы.С прискорбием убедившись в достоверности цитаты №2, залез в гугл (hitTest shape) и, не поверишь, по 1й-же ссылке нашел нормально работающий класс, определяющий пересечение шейпов, и точку вышеупомянутого пересечения.:) глянь на него - мож пригодится.http://www.gskinner.com/blog/archive..._code_sha.html Даже если будешь юзать свой рукотворный хиттест, попробуй нарисовать в 1 клип - круг и еще 1 клип - hairline-дуга примерно в 1/10 круга, после чего, с определенной дискретностью(скажем 100), приравнивай координаты центра дуги координатам центра круга, в цикле(1->10) поворачивай дугу и хит-тести ее с уровнем. все.. устал писать.. всем хорошего дня. |
| Часовой пояс GMT +4, время: 06:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.