![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 50
|
Помогайте, пожалуйста )
В общем сделал себе avatar для ICQ на flash. Тестирую на miranda , с помощью плагина avatar service 0.0.1.13 Build #245 Если сделать простой swf на as3 под flash player 9 то всё работает замечательно. Если я делаю swf с применением away3d (rev. 551) то выдаётся ошибка Error: Error #1023: Stack overflow occurred. at away3d.core.clip::RectangleClipping$iinit() at away3d.core.clip::Clipping/screen() at away3d.containers::View3D/clear() at away3d.containers::View3D/render() at avatar_fla::MainTimeline/onEnterFrame() Что с этим делать - непонятно.. Спросил на http://groups.google.com/group/away3d-dev?hl=en - молчат. |
|
|||||
|
Modus ponens
|
Ну а исходники есть? Если есть - посмотри в конструкторе класса RectangleClipping на предмет рекурсивно вызываемой функции (а еще, как вариант, этот класс каким-то образом в конструкторе создает свои копии)... ну а если исходников нет - ну, не используй, а что делать? %)
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 50
|
Да нет, вроде.. В RectangleClipping нет ничего такого...
Но, всё равно, спасибо за попытку ) |
|
|||||
|
Modus ponens
|
Ну причина ошибки может быть только такая: либо бесконечный цикл, либо рекурсивный (бесконечный) вызов функции, и флеш это находит именно в конструкторе указанного класса. Других вариантов нет...
__________________
Hell is the possibility of sanity |
|
|||||
|
ветеран форума
|
Еще может быть, если в конструкторе одного класса создается экземпляр другого, а в другом - первого, и процесс зацикливается
__________________
4am is time to rock |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 50
|
|
|
|||||
|
Регистрация: Sep 2005
Сообщений: 50
|
Кстати, если кому интересно, то решение, вероятно, найдено (опытным путём)
var clip:RectangleClipping = new RectangleClipping(-128, -128, 128, 128); view = new View3D({scene:scene, camera:camera, clip:clip}); Т.е. т.к. сцена мелкая, её нужно принудительно обрезать |
|
|||||
|
[+1 11.07.10]
Регистрация: Oct 2008
Сообщений: 47
|
Скорее всего у вас неверноиспользуемая рекурсивная функция. Короче вот смотрите...
ActionScript throws a StackOverflowError exception when the stack available to the script is exhausted. ActionScript uses a stack to store information about each method call made in a script, such as the local variables that the method uses. The amount of stack space available varies from system to system. A StackOverflowError exception might indicate that infinite recursion has occurred, in which case a termination case needs to be added to the function. It also might indicate that the recursive algorithm has a proper terminating condition but has exhausted the stack anyway. In this case, try to express the algorithm iteratively instead.
__________________
Ждете Христа? Он сказал мне, что больше не придет. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
MrNobody, я думаю, за 7 месяцев, прошедших после размещения темы, автор уже разобрался.
Засим топик клозед. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|