NikolyA
03.11.2010, 22:25
есть такая функция:
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.
в чем проблема?
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.
в чем проблема?