Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Помогите разобраться с ошибкой. (http://www.flasher.ru/forum/showthread.php?t=161539)

TombWalker! 25.07.2011 14:57

Помогите разобраться с ошибкой.
 
Вложений: 2
Всем привет!
Вот в связи с тем, что понадобилось сделать флеш-баннер с фейрверком, пришлось попытаться освоить Action Script 3...)
Взял за основу FlintParticle System (http://flintparticles.org/source-code)
Но вот беда - при выводе в SWF появляется ошибка:

ArgumentError: Error #2188: Недопустимая необработанная матрица. Матрица должна быть обратимой.
at flash.geom::Matrix3D/set rawData()
at org.flintparticles.threeD.renderers::Camera/get transform()
at org.flintparticles.threeD.renderers::BitmapRenderer/renderParticles()
at org.flintparticles.common.renderers::SpriteRendererBase/updateParticles()

Не могу понять, откуда ноги растут... В принципе, ничего страшного не происходит и если во время ошибки нажать "продолжить", то анимация продолжит проигрываться... Может есть способ сделать так, чтобы эта ошибка если и была, то сообщение о ней не вылезало постоянно?

Прикладываю файл проекта, библиотеку FlintParticle (нужно ее через Preferences->Actionscript->ActionScript3 указать) и SWF файл...

silin 25.07.2011 17:53

если не вникая, лишь бы работало:
в файле org.flintparticles.threeD.renderers.Camera.as
замени (162-я строчка)
Код AS3:

public function get transform():Matrix3D
{
        if( !_spaceTransform || !_transform )
        {
                _transform = spaceTransform.clone();
                _projectionTransform.rawData = Vector.<Number>( [
                        _projectionDistance, 0, 0, 0,
                        0, _projectionDistance, 0, 0,
                        0, 0, 1, 1,
                        0, 0, 0, 0
                ] );
                _transform.append( _projectionTransform );
        }
        return _transform;
}

на
Код AS3:

public function get transform():Matrix3D
{
        if( !_transform )
        {
                _transform = spaceTransform.clone();
        }
        return _transform;
}

зы. что интересно mxmlc (4.5) не кидает эксепшн на этот тот же вектор, а IDE-шный кидает

TombWalker! 25.07.2011 18:34

Большое спасибо! Заработало...)
По-хорошему давно пора сесть за АС3... А то открыл вот и не в зуб ногой...

Wolsh 25.07.2011 19:02

Название темы не отражает сути вопроса.


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

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