Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.01.2013, 02:48
windrider вне форума Посмотреть профиль Отправить личное сообщение для windrider Найти все сообщения от windrider
  № 1  
Ответить с цитированием
windrider

Регистрация: Jan 2013
Адрес: Ukraine
Сообщений: 9
Attention Панорама 360', зацикливание

Возникли проблемы с "зацикливанием" обычной линейной панорамы. Помогите плииииз!!

Код 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;
}
Вложения
Тип файла: zip 1.zip (5.76 Мб, 30 просмотров)

Старый 17.01.2013, 02:51
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
А в чем проблема-то?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 17.01.2013, 03:15
windrider вне форума Посмотреть профиль Отправить личное сообщение для windrider Найти все сообщения от windrider
  № 3  
Ответить с цитированием
windrider

Регистрация: Jan 2013
Адрес: Ukraine
Сообщений: 9
Цитата:
Сообщение от dark256 Посмотреть сообщение
А в чем проблема-то?
Код AS1/AS2:
// условия зацикливания
if (r.mc._x > 1) {
	r._x -= r.mc._width;
}
if (r.mc2._x < 1) {
	r._x += r.mc._width;
}
Вот эти условия не работают(((

Старый 17.01.2013, 10:52
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
windrider, "HELP" и прочие выкрики писать в заголовке темы нельзя. Здесь всем нужна помощь.
А вот раскрыть содержание вопроса нужно. Это не рекомендация, это правило.
__________________
Идите первым!

Старый 17.01.2013, 20:41
windrider вне форума Посмотреть профиль Отправить личное сообщение для windrider Найти все сообщения от windrider
  № 5  
Ответить с цитированием
windrider

Регистрация: Jan 2013
Адрес: Ukraine
Сообщений: 9
Цитата:
Сообщение от mooncar Посмотреть сообщение
windrider, "HELP" и прочие выкрики писать в заголовке темы нельзя. Здесь всем нужна помощь.
А вот раскрыть содержание вопроса нужно. Это не рекомендация, это правило.
Sorry...

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

Старый 18.01.2013, 01:35
alex_195 вне форума Посмотреть профиль Отправить личное сообщение для alex_195 Найти все сообщения от alex_195
  № 6  
Ответить с цитированием
alex_195

Регистрация: Apr 2009
Сообщений: 104
Тебе необходимо отслеживать положение r.mc каким-то методом: onEnterFrame или setInteval

Старый 18.01.2013, 03:18
windrider вне форума Посмотреть профиль Отправить личное сообщение для windrider Найти все сообщения от windrider
  № 7  
Ответить с цитированием
windrider

Регистрация: Jan 2013
Адрес: Ukraine
Сообщений: 9
Цитата:
Сообщение от alex_195 Посмотреть сообщение
Тебе необходимо отслеживать положение r.mc каким-то методом: onEnterFrame или setInteval
Этого разве недостаточно?
Код AS1/AS2:
r.mc._x

Старый 18.01.2013, 14:23
alex_195 вне форума Посмотреть профиль Отправить личное сообщение для alex_195 Найти все сообщения от alex_195
  № 8  
Ответить с цитированием
alex_195

Регистрация: Apr 2009
Сообщений: 104
Проверка условия
Код 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
.

Старый 18.01.2013, 17:23
windrider вне форума Посмотреть профиль Отправить личное сообщение для windrider Найти все сообщения от windrider
  № 9  
Ответить с цитированием
windrider

Регистрация: Jan 2013
Адрес: Ukraine
Сообщений: 9
Цитата:
Сообщение от alex_195 Посмотреть сообщение
Проверка условия
Код 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
.
не помогло

Старый 18.01.2013, 20:01
sasha88886 вне форума Посмотреть профиль Отправить личное сообщение для sasha88886 Найти все сообщения от sasha88886
  № 10  
Ответить с цитированием
sasha88886

Регистрация: Jun 2012
Сообщений: 28
Условие ни когда не сроботает потому что ты в коде указал его параметры
Код 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, время: 23:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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