![]() |
Псевдо 3D во флеш
Вложений: 1
Делаю флэш-презентацию. Задумка следующая - презентуемый копрус компьютера нужно показать со всех сторон. Для этого мы поворачивали блок на 20 градусов и фоткали. Далее я создала ползунок, который можно передвигать влево-вправо и мувик с "крутящимся" корпусом. И никак, блин, не могу связать движение ползунка по полоске влево- вправо с повотом корпуса (т.е. со сменой фоток)
Чтобы было понятно о чем я - во вложении swf -ка Помогите плз |
Ваш ползунок умеет определять свое положение?
Тогда вам нужно при изменении положения ползунка посчитать соответствие между этим положением(пусть это будет переменная pos) и нужным кадром вашего мувика(frame). Зная общее число кадров вашего мувика(_totalframes) и максимальное положение ползунка(maxpos) это легко сделать: Код:
frame=seekBar.pos*mc._totalframes/seekBar.maxpos; |
Цитата:
по идее, у меня 4 кадра от центра вправо и 4 кадра от центра влево + один ценральный, а длина полоски 252 пикселя, соответвенно каджый следующий отрезок в 28 пикселей должен сменять картинку. |
У меня это как-то так было сделано
Код:
napr.onMouseMove = function () {Выложите исходник) |
Цитата:
Мы же не знаем, как у вас ползунок устроен. |
Здравствуйте Marutya!
Хех! :) Тема становиться актуальной. Вот недавно "обсасывали" указанную Вами тематику: http://www.flasher.ru/forum/showthread.php?t=114336 Думаю, там изложены исчерпывающие ответы и примеры. |
эх, блин... а когда-то тут были примеры и в их числе мой с крутящимся колесом (не вокруг своей оси, разумеется, а именно псевдо 3д). пример был написан на четвёрке )))) и средний балл у примера был что-то в районе тройки ) кто бы мог подумать, что эта ерунда будет актуальна столько лет спустя )
|
Цитата:
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); |
Marutya! В выбранном Вами алгоритме есть неприятный момент - все изображения надо импортировать в отдельные кадры, а это не всегда приятно, в особенности если их чуть более сотни :). Лучше кадры-изображения загружать в лоадерами.
|
| Часовой пояс GMT +4, время: 06:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.