Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Dokalan
6 / 6 / 1
Регистрация: 14.08.2015
Сообщений: 62
Записей в блоге: 5
#1

Загрузка листалки - Android

13.04.2016, 18:10. Просмотров 239. Ответов 0
Метки нет (Все метки)

Создал swf под Андроид. Хочу загрузить в него другой swf с листалкой, который тоже сделан под Андроид.
Если при компиляции назначение родительского swf Flash Player 20, то грузится нормально. Но если назначение родительского swf AIR 20.0 for Android, тогда программа выдаёт ошибку:
ActionScript 3
1
2
3
4
SecurityError: Error #2070: Security sandbox violation: caller file:///C:/Users/Саша/Desktop/Listalka.swf cannot access Stage owned by app:/Roditelsky.swf.
    at flash.display::Stage/requireOwnerPermissions()
    at flash.display::Stage/addEventListener()
    at Listalka_fla::MainTimeline/frame1()[Listalka_fla.MainTimeline::frame1:14]
Подскажите, пожалуйста, как подгрузить swf с листалкой в андроид-приложение?
Вот код листалки, на всякий случай. Код полностью рабочий.
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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;
    }
}
Подумал, поспрашивал и вот что получается:
Судя по тексту выдаваемой ошибки, родительский swf не может получить доступ к объекту Stage, принадлежащему другому swf. То есть stage то он видит, но по соображениям безопасности доступ к нему ограничен.
Надо грузить флешку указывая контекст загрузки. А этого-то я и не умею...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2016, 18:10     Загрузка листалки
Посмотрите здесь:

Android Загрузка картинки
Android Загрузка картинки на сервер
Фото и загрузка на сервер Android
долгая загрузка Android
Android Загрузка изображения
Загрузка активити Android
Загрузка 3D модели Android
Android Загрузка изображения
Android Сохранение и загрузка
Android Загрузка двухуровнего списка
Загрузка изображений в RecyclerView Android
Загрузка текста с сайта Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru