Показать сообщение отдельно
Старый 12.04.2016, 17:41
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 1  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
По умолчанию Проблема с загрузкой

Создал swf под Андроид. Хочу загрузить в него другой swf с листалкой, который тоже сделан под Андроид.
Если при компиляции назначение родительского swf Flash Player 20, то грузится нормально. Но если назначение родительского swf AIR 20.0 for Android, тогда программа выдаёт ошибку:
Код AS3:
SecurityError: Error #2070: Security sandbox violation: caller file:///G:/№2/Листалка/perelistyvanie.swf cannot access Stage owned by app:/Родительский.swf.
    at flash.display::Stage/requireOwnerPermissions()
    at flash.display::Stage/addEventListener()
    at perelistyvanie_fla::MainTimeline/frame1()[perelistyvanie_fla.MainTimeline::frame1:8]
Подскажите, пожалуйста, как подгрузить swf с листалкой в андроид-приложение?
Вот код листалки, на всякий случай. Код полностью рабочий.
Код AS3:
Multitouch.inputMode = MultitouchInputMode.GESTURE;
 
var currentGalleryItem:Number = 1;
var totalGalleryItems:Number = 4;
 
stage.addEventListener (TransformGestureEvent.GESTURE_SWIPE, fl_SwipeToGoToNextPreviousFrame);
 
function fl_SwipeToGoToNextPreviousFrame(event:TransformGestureEvent):void
{
    if(event.offsetX == 1)
    {
        if(currentGalleryItem > 1){
            currentGalleryItem--;
            slideRight();
        }
    }
    else if(event.offsetX == -1)
    {
        if(currentGalleryItem < totalGalleryItems){
            currentGalleryItem++;
            slideLeft();
        }
    }
}
 
var slideCounter:Number = 0;
function slideLeft(){
    gallery_items.addEventListener("enterFrame", moveGalleryLeft);
    (root as MovieClip).nextFrame();
}
function slideRight(){
    gallery_items.addEventListener("enterFrame", moveGalleryRight);
    (root as MovieClip).prevFrame();
}
 
function moveGalleryLeft(evt:Event){
    gallery_items.x -= 48;
    slideCounter++;
    if(slideCounter == 10){
        gallery_items.removeEventListener("enterFrame", moveGalleryLeft);
        slideCounter = 0;
    }
}
function moveGalleryRight(evt:Event){
    gallery_items.x += 48;
    slideCounter++;
    if(slideCounter == 10){
        gallery_items.removeEventListener("enterFrame", moveGalleryRight);
        slideCounter = 0;
    }
}