Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Как запретить перелистывание для загруженного swf? (http://www.flasher.ru/forum/showthread.php?t=212667)

Comer 05.04.2016 11:38

Как запретить перелистывание для загруженного 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);
}
function slideRight(){
    gallery_items.addEventListener("enterFrame", moveGalleryRight);
}
 
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. Кликаю на неё, swf загружается. Но если я начинаю перелистывать дальше, то этот загруженный swf тоже перелистывается, а мне нужно, чтобы он оставался на месте.
Подскажите, пожалуйста, как запретить перелистывание для загруженного swf?

caseyryan 05.04.2016 12:36

ну так добавь его поверх контейнера, который перелистывается

Comer 05.04.2016 14:28

Цитата:

Сообщение от caseyryan (Сообщение 1193163)
ну так добавь его поверх контейнера, который перелистывается

А как??? Ведь кнопка, через которую подгружаю внешний swf находится ВНУТРИ контейнера, поэтому внешний файл загружается тоже ВНУТРЬ этого контейнера. Ну и, соответственно, перелистывается вместе с ним.
В том-то и вся проблема!
Как делают в других мобильных приложениях так, что я листаю страницы, потом кликаю на ссылку в нужной странице, она открывается и не перелистывается?

caseyryan 05.04.2016 15:12

Читай про MVC.

Comer 05.04.2016 17:05

Цитата:

Сообщение от caseyryan (Сообщение 1193168)
Читай про MVC.

Что-то я ничего полезного по этому вопросу там не нашёл...
Может есть ещё какая-нибудь идея?

undefined 05.04.2016 18:11

попробуй добавить в хэндлер event.stopImmediatePropagation();

Comer 05.04.2016 21:50

Цитата:

Сообщение от undefined (Сообщение 1193171)
попробуй добавить в хэндлер event.stopImmediatePropagation();

Ой! А я такое слово впервые слышу :o Не так уж много у меня опыта.
А в хэндлер - это куда? (не дай Бог жене такое слово услышать... Ведь не отстанет! )

caseyryan 06.04.2016 06:43

Цитата:

Сообщение от Comer (Сообщение 1193170)
Что-то я ничего полезного по этому вопросу там не нашёл...
Может есть ещё какая-нибудь идея?

Полезное там - построение архитектуры приложения. У тебя архитектура, мягко говоря, хромает. Как я понял, у тебя объект грузится и добавляется туда же, где и кнопка находится. А на самом деле кнопка должна только послать сигнал на загрузку, и не более. От нее никак не должно зависить что и куда добавится.

Comer 12.04.2016 17:47

Цитата:

Сообщение от caseyryan (Сообщение 1193178)
Полезное там - построение архитектуры приложения. У тебя архитектура, мягко говоря, хромает. Как я понял, у тебя объект грузится и добавляется туда же, где и кнопка находится. А на самом деле кнопка должна только послать сигнал на загрузку, и не более. От нее никак не должно зависить что и куда добавится.

С этой проблемой разобрался. Возникла другая. Я её изложил в новой теме:
http://www.flasher.ru/forum/showthread.php?t=212711

Добавлено через 20 часов 5 минут
Цитата:

Сообщение от caseyryan (Сообщение 1193178)
Полезное там - построение архитектуры приложения. У тебя архитектура, мягко говоря, хромает.

Забыл тебя поблагодарить. Проблема действительно оказалась в архитектуре. Спасибо тебе за то, что обратил на это моё внимание!


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

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