PDA

Просмотр полной версии : Панорама 360', зацикливание


windrider
17.01.2013, 02:48
Возникли проблемы с "зацикливанием" обычной линейной панорамы. Помогите плииииз!! :)


/*
Я создал 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.php?albumid=140&pictureid=333

dark256
17.01.2013, 02:51
А в чем проблема-то?

windrider
17.01.2013, 03:15
А в чем проблема-то?

// условия зацикливания
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
windrider, "HELP" и прочие выкрики писать в заголовке темы нельзя. Здесь всем нужна помощь.
А вот раскрыть содержание вопроса нужно. Это не рекомендация, это правило.

Sorry...

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

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

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

Этого разве недостаточно? :)
r.mc._x

alex_195
18.01.2013, 14:23
Проверка условия
if (r.mc._x > 1) {
r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
r._x += r.mc._width;
}
должна произойти по какому-то событию, которое должно отслеживаться, например:

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 и в момент, когда r.mc._x > 1 сработает твое r._x -= r.mc._width.

windrider
18.01.2013, 17:23
Проверка условия
if (r.mc._x > 1) {
r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
r._x += r.mc._width;
}
должна произойти по какому-то событию, которое должно отслеживаться, например:

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 и в момент, когда r.mc._x > 1 сработает твое r._x -= r.mc._width.

не помогло :(

sasha88886
18.01.2013, 20:01
Условие ни когда не сроботает потому что ты в коде указал его параметры
_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();