Показать сообщение отдельно
Старый 03.11.2010, 22:25
NikolyA вне форума Посмотреть профиль Отправить личное сообщение для NikolyA Найти все сообщения от NikolyA
  № 1  
Ответить с цитированием
NikolyA
 
Аватар для NikolyA

Регистрация: Dec 2006
Сообщений: 1,764
По умолчанию case, catch и try в AS3

есть такая функция:

Код AS3:
public function addHotspot(hots:Hotspot) : void
        {
            var hotspotClone:Hotspot;
            var hotspotSprite:Sprite;
            var tempMediaType:uint;
            var origCoords:Point;
            var classDef:Object;
            var hotspotLoader:Loader;
            var dob:DisplayObject;
            var hotspot:Object = hots;
            if (polygonCoordsArray.length > 0)
            {
                polygonCoordsArray = [];
            }
            if (polygonControlPointsArray.length > 0)
            {
                polygonControlPointsArray = [];
            }
            hotspotClone = hotspot.clone();
            hotspotSprite = new Sprite();
            hotspotsMap[hotspotSprite] = hotspotClone;
            hotspotsLoadingArray.push(hotspotClone);
            hotspotSpritesLoadingArray.push(hotspotSprite);
            hotspotSprite.x = hotspotClone.x;
            hotspotSprite.y = hotspotClone.y;
            hotspotSprite.scaleX = hotspotClone.xScale / hotspotClone.zoom;
            hotspotSprite.scaleY = hotspotClone.yScale / hotspotClone.zoom;
            tempMediaType = hotspotClone.mediaType;
            switch(tempMediaType)
            {
                case Hotspot.MEDIATYPE_SYMBOL:
                    classDef;
                    try
                    {
                        classDef = getDefinitionByName(hotspotClone.media);
                    }
                    catch (e:Error)
                    {
                        try
                        {
                            classDef = _viewer.loaderInfo.applicationDomain.getDefinition(hotspotClone.media) as Object;
                        }
                        catch (e:Error)
                        {
                            Tooltip.show(Resources.ERROR_LOADINGHOTSPOTMEDIASYMBOL + e, false, -1, -1, true, 0, true);
                        }
                        if (classDef != null)
                        {
                            dob = new classDef as DisplayObject;
                            if (dob != null)
                            {
                                hotspotSprite.addChild(dob);
                                configHotspot(hotspotSprite);
                            }
                        }
                        break;
                    case Hotspot.MEDIATYPE_URL:
                         hotspotLoader = new Loader();
                        hotspotLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadExternalHotspotCompleteHandler, false, 0, true);
                        hotspotLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadExternalHotspotIOErrorHandler, false, 0, true);
                        hotspotLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadExternalHotspotSecurityErrorHandler, false, 0, true);
                        hotspotLoader.load(new URLRequest(hotspotClone.media));
                        hotspotSprite.addChild(hotspotLoader);
                        break;
                    default:
                        break;
                }
                hotspots.addChild(hotspotSprite);
                origCoords = new Point(hotspotSprite.x, hotspotSprite.y);
                setCurrentHotspot(hotspotClone.id);
        }
но при компиляции выдает ошибку: 1084: Syntax error: expecting identifier before case.

в чем проблема?