Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Панорама 360', зацикливание (http://www.flasher.ru/forum/showthread.php?t=192621)

windrider 17.01.2013 02:48

Панорама 360', зацикливание
 
Вложений: 1
Возникли проблемы с "зацикливанием" обычной линейной панорамы. Помогите плииииз!! :)

Код AS1/AS2:

/*
Я создал 3 совершенно одинаковых мувика r.mc, r.mc1, r.mc2
а для движения всей панорамы я поместил их в один мувик - r.
*/

_root.onLoad = function() {
        r.mc._x = 0;
        r.mc1._x -= r.mc1._width;
        r.mc2._x += r.mc1._width;
}
// 0,5 ширины ролика
var a = 300;
// прокрутка панорамы
if (_xmouse > a) {
        var b = (_xmouse-300) /30;
        r._x -= b;
}
if (_xmouse < a) {
        var b = 10 -(_xmouse /30);
        r._x += b;
}
// условия зацикливания
if (r.mc._x > 1) {
        r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
        r._x += r.mc._width;
}

http://www.flasher.ru/forum/picture....&pictureid=333

dark256 17.01.2013 02:51

А в чем проблема-то?

windrider 17.01.2013 03:15

Цитата:

Сообщение от dark256 (Сообщение 1116116)
А в чем проблема-то?

Код AS1/AS2:

// условия зацикливания
if (r.mc._x > 1) {
        r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
        r._x += r.mc._width;
}

Вот эти условия не работают(((

mooncar 17.01.2013 10:52

windrider, "HELP" и прочие выкрики писать в заголовке темы нельзя. Здесь всем нужна помощь.
А вот раскрыть содержание вопроса нужно. Это не рекомендация, это правило.

windrider 17.01.2013 20:41

Цитата:

Сообщение от mooncar (Сообщение 1116149)
windrider, "HELP" и прочие выкрики писать в заголовке темы нельзя. Здесь всем нужна помощь.
А вот раскрыть содержание вопроса нужно. Это не рекомендация, это правило.

Sorry...

Добавлено через 20 минут
Уважаемые пользователи данного форума, кто-нибудь мне подскажет как решить эту проблему? Не думаю, что бы она относилась к разряду сложных;)

alex_195 18.01.2013 01:35

Тебе необходимо отслеживать положение r.mc каким-то методом: onEnterFrame или setInteval

windrider 18.01.2013 03:18

Цитата:

Сообщение от alex_195 (Сообщение 1116395)
Тебе необходимо отслеживать положение r.mc каким-то методом: onEnterFrame или setInteval

Этого разве недостаточно? :)
Код AS1/AS2:

r.mc._x


alex_195 18.01.2013 14:23

Проверка условия
Код AS1/AS2:

 if (r.mc._x > 1) {
        r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
        r._x += r.mc._width;
}

должна произойти по какому-то событию, которое должно отслеживаться, например:
Код AS1/AS2:

r.mc.onEnterFrame = function() {
if (r.mc._x > 1) {
        r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
        r._x += r.mc._width;
}
}

В таком случае в любой момент проигрывания ролика будет определяться положение твоего r.mc и в момент, когда
Код AS1/AS2:

 r.mc._x > 1

сработает твое
Код AS1/AS2:

r._x -= r.mc._width

.

windrider 18.01.2013 17:23

Цитата:

Сообщение от alex_195 (Сообщение 1116479)
Проверка условия
Код AS1/AS2:

 if (r.mc._x > 1) {
        r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
        r._x += r.mc._width;
}

должна произойти по какому-то событию, которое должно отслеживаться, например:
Код AS1/AS2:

r.mc.onEnterFrame = function() {
if (r.mc._x > 1) {
        r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
        r._x += r.mc._width;
}
}

В таком случае в любой момент проигрывания ролика будет определяться положение твоего r.mc и в момент, когда
Код AS1/AS2:

 r.mc._x > 1

сработает твое
Код AS1/AS2:

r._x -= r.mc._width

.

не помогло :(

sasha88886 18.01.2013 20:01

Условие ни когда не сроботает потому что ты в коде указал его параметры
Код AS1/AS2:

_root.onLoad = function() {
        r.mc._x = 0;
        r.mc1._x -= r.mc1._width;
        r.mc2._x += r.mc1._width;
}

И больше их не изменял потому. Как r.mc._x может быть больше 1 если ты указал что она 0. Потом как r.mc2._x может быть меньше 1 если ты указал что клип должен стоять на ширене r.mc1 что кдето 4800 так що условие не сроботает никогда. Единственный параметр который можеш приминить для проверка позиции это r._x только он изменяется по ходу прокрутки ролика и то с большим зазором в 30 пикселей
Эти все параметры переменных можно лигко проверть с помощу функции trace();


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

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