Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 30.04.2003, 05:21
Dagi вне форума Посмотреть профиль Отправить личное сообщение для Dagi Найти все сообщения от Dagi
  № 1  
Dagi

Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
По умолчанию Ограничение на время выполнения кода

Уважаемые гуру Существует ли способ, при помощи которого можно было бы приодолеть временное ограничение на исполнение кода. Я тут скрипт написал, решающий задачу эйлера об обходе шахматной доски конем. А он слишком долго выполняется. Дополнительная сложность - алгоритм рекурсивный, так что разбросать код по кадрам не получится.
Что делать? Исходник в аттаче.
Вложения
Тип файла: txt код.txt (938 байт, 91 просмотров)

Старый 01.05.2003, 01:17
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 2  
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
элементарно ватсон, нужно использовать не for, а onClipEvent(enterFrame){}; у него нет лимита на выполнение там пиши if и изминения, можно даже ввести маленькие циклы, но не такие как у тебя
__________________
I'm only happy when it rains.
Waka Laka

Старый 03.05.2003, 08:41
Dagi вне форума Посмотреть профиль Отправить личное сообщение для Dagi Найти все сообщения от Dagi
  № 3  
Dagi

Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
Ну вы меня вообще за идиота держите. Как можно организовать рекурсивный алгоритм с onClipEvent? Бредовость этой идеи не имеет границ. Настоящие спецы - скажите, как победить 15-секундное ограничение на выполнение кода в одном кадре?
p.s. Кстати, уважаемый Usnul, код желательно централизовать, поэтому про onClipEvent забудьте - умные дяди для вас новую модель событий придумали.

Старый 03.05.2003, 08:49
Dagi вне форума Посмотреть профиль Отправить личное сообщение для Dagi Найти все сообщения от Dagi
  № 4  
Dagi

Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
А вот что про это дело пишет Macromedia:
Issue
While viewing a Flash movie in any Flash Player environment (browser, standalone, or projector), an error message appears indicating that a script is causing the Player to run slowly. Additionally, the message box gives the viewer the option to abort the script, as can be seen in Example 1.


Reason
The Flash Player itself provides this option to abort the script. The Flash Player will do this when it plays a movie which contains a one-frame ActionScript loop which can repeat itself indefinitely or for too long. A movie with such a loop can tax the resources of the computer system playing it. Giving viewers the option to end the script helps the Flash Player prevent an SWF file from freezing the viewer's browser or system.

Solution
To avoid creating a movie that triggers this error message when it is played in the Flash Player, create a loop that goes through frames. You can do this by evaluating a variable in an if statement and, if the variable conditionalizes as true, then have the movie break the loop by going to the next frame. If the variable does not conditionalize as true, then have the movie loop back to the first frame (usually two to three frames back) of the movie.

Старый 03.05.2003, 15:49
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 5  
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
лимит не побить, и я пытался с тобой как с человеком
если тебя не устраивают копромисы пиши свой флэш
__________________
I'm only happy when it rains.
Waka Laka

Старый 03.05.2003, 20:34
Dagi вне форума Посмотреть профиль Отправить личное сообщение для Dagi Найти все сообщения от Dagi
  № 6  
Dagi

Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
Просто, прежде чем давать советы, нужно убедиться, что они верны

Старый 04.05.2003, 01:20
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 7  
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
короче так, если тебе все же охото чтобы "все работало" то делай без for а если нет, то садись за програминг
__________________
I'm only happy when it rains.
Waka Laka

Старый 04.05.2003, 07:33
Dagi вне форума Посмотреть профиль Отправить личное сообщение для Dagi Найти все сообщения от Dagi
  № 8  
Dagi

Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
Без циклов - элементарно. А вот без рекурсии - никак. А ведь время ограничено и на выполнение функции. Кстати, я этот же код загнал в HTML как JavaScript - так там то же ограничение. В общем, не решить задачу Эйлера на Actionscript

Старый 04.05.2003, 14:55
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 9  
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
Знаешь, мне жуууутко неохото разбераться, но по моему у тебя там есть несколько простейших ошибок, то есть строчки не там стоят некоторые, посмотри по внимательнее
__________________
I'm only happy when it rains.
Waka Laka

Старый 04.05.2003, 18:15
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 10  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
Можно эмулировать рекурсию.
По-моему, не так сложно.
__________________
ВКЛЮЧИ МОЗГИ!!!
Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin

Создать новую тему   Часовой пояс GMT +4, время: 06:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:27.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.