Просмотр полной версии : Псевдо 3D во флеш
Делаю флэш-презентацию. Задумка следующая - презентуемый копрус компьютера нужно показать со всех сторон. Для этого мы поворачивали блок на 20 градусов и фоткали. Далее я создала ползунок, который можно передвигать влево-вправо и мувик с "крутящимся" корпусом. И никак, блин, не могу связать движение ползунка по полоске влево- вправо с повотом корпуса (т.е. со сменой фоток)
Чтобы было понятно о чем я - во вложении swf -ка
Помогите плз
crazyone
01.08.2008, 15:05
Ваш ползунок умеет определять свое положение?
Тогда вам нужно при изменении положения ползунка посчитать соответствие между этим положением(пусть это будет переменная pos) и нужным кадром вашего мувика(frame). Зная общее число кадров вашего мувика(_totalframes) и максимальное положение ползунка(maxpos) это легко сделать:
frame=seekBar.pos*mc._totalframes/seekBar.maxpos;
mc.gotoAndStop(frame);
Кстати, по поводу анимации корпуса - гораздо лучше будет подвинуть ваши изображения так, чтобы корпус крутился вокруг своего центра.
Ваш ползунок умеет определять свое положение?
Тогда вам нужно при изменении положения ползунка посчитать соответствие между этим положением(пусть это будет переменная pos) и нужным кадром вашего мувика(frame). Зная общее число кадров вашего мувика(_totalframes) и максимальное положение ползунка(maxpos) это легко сделать:
frame=seekBar.pos*mc._totalframes/seekBar.maxpos;
mc.gotoAndStop(frame);
Кстати, по поводу анимации корпуса - гораздо лучше будет подвинуть ваши изображения так, чтобы корпус крутился вокруг своего центра.
ползунок не умеет определять положение..
по идее, у меня 4 кадра от центра вправо и 4 кадра от центра влево + один ценральный, а длина полоски 252 пикселя, соответвенно каджый следующий отрезок в 28 пикселей должен сменять картинку.
У меня это как-то так было сделано
napr.onMouseMove = function () {
koeff=3.9
gotoAndStop(int(napr.polzunok._y/koeff))
}
где koeff - коэффициент переводящий положение ползунка в номер кадра на который нужно перейти.
Выложите исходник)
crazyone
01.08.2008, 18:34
ползунок не умеет определять положение..
Так научите.
Мы же не знаем, как у вас ползунок устроен.
Alex_beginner
03.08.2008, 12:56
Здравствуйте Marutya!
Хех! :) Тема становиться актуальной.
Вот недавно "обсасывали" указанную Вами тематику:
http://www.flasher.ru/forum/showthread.php?t=114336
Думаю, там изложены исчерпывающие ответы и примеры.
эх, блин... а когда-то тут были примеры и в их числе мой с крутящимся колесом (не вокруг своей оси, разумеется, а именно псевдо 3д). пример был написан на четвёрке )))) и средний балл у примера был что-то в районе тройки ) кто бы мог подумать, что эта ерунда будет актуальна столько лет спустя )
Здравствуйте Marutya!
Хех! :) Тема становиться актуальной.
Вот недавно "обсасывали" указанную Вами тематику:
http://www.flasher.ru/forum/showthread.php?t=114336
Думаю, там изложены исчерпывающие ответы и примеры.
Все, решила задачу. В мувике каждую фотку-поворот называю а0, a1, a2, и т.д.
9 картинок = 9 кадров
далее создаю полосу прокрутки она у меня 252px.
что бы узнать отношение расположение по х кнопки прокрутки к кадру мувика.
252/9= 28
соответственно при пересечении каждого 28го рх кнопкой прокрутки мы должны попадать на определенный кадр мувика (с а0, по а5)
onClipEvent(enterFrame){
i=int(this._x/42);//приставка int округляет дробное число до целого
_root.name_block.gotoAndStop("a"+i);
}
Да, вот только зачем префиксы?
Можно и просто
_root.name_block.gotoAndStop(i);
И фотки тогда не нужно "называть". Если бы их не 9, а сто было бы тоже что-ли вручную нумеровала?
Alex_beginner
04.08.2008, 16:02
Marutya! В выбранном Вами алгоритме есть неприятный момент - все изображения надо импортировать в отдельные кадры, а это не всегда приятно, в особенности если их чуть более сотни :). Лучше кадры-изображения загружать в лоадерами.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.