Как создать эффект бесконечной карусели с изображениями в Windows Phone 7 - PullRequest
2 голосов
/ 11 марта 2011

В моем приложении для Windows Phone 7 у меня есть список объектов с изображениями, связанных с каждым (всего около 40). У меня есть одно из изображений на моей главной странице и кнопка, которую пользователь может нажать, чтобы случайным образом выбрать один из объектов, а затем изменить изображение, чтобы оно соответствовало случайно выбранному объекту.

Для эффекта анимации мне бы хотелось иметь горизонтальный эффект «игрового автомата», когда на экране появятся два других изображения (слева и справа) оригинала, а затем все они будут перемещаться очень быстро налево. Когда каждый из них покидает экран, он должен появиться справа (сразу за экраном) с загруженным другим изображением, и все это должно продолжаться в течение заданного промежутка времени (до замедления и остановки до выбранного изображения).

Я провел небольшое исследование и обнаружил, что PathListBox идеально подходит для такого рода анимации / поворота, но, к сожалению, это только в Silverlight 4, а Windows Phone 7 работает под управлением Silverlight 3. Другим способом было бы использовать горизонтальный список и переупорядочить элементы, чтобы переместить их в конец ... но я не совсем уверен, как это сделать в анимации.

Худшее приходит к худшему, действительно ужасный способ реализовать его - это использовать DoubleAnimation с десятками неправильно выровненных ключевых кадров для каждого изображения и вычислять, когда каждое изображение покидает экран, а затем сразу после этого устанавливать дискретный ключевой кадр для всплывающего окна. изображение в правой части экрана. Это было бы очень утомительно и потребовало бы тонны жесткого кодирования, и было бы почти невозможно применить функцию замедления (ускорение / замедление). Каков наилучший способ сделать это?

Спасибо !!

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Эффект, который вы ищете, может быть почти достигнут с помощью управления поворотом - Endless Pivot Control

В качестве альтернативы есть несколько реализаций с открытым исходным кодом, похожих на Apple Coverflow - например, http://sigurdsnorteland.wordpress.com/2010/09/19/wp7-samples-upgraded-to-rtm/

1 голос
/ 11 марта 2011

Я думаю, что с некоторыми манипуляциями с шаблонами вы могли бы использовать LoopingSelector, чтобы реализовать то, что вы ищете. На сайте WindowsPhoneGeek.com есть замечательная серия сообщений , в которых это обсуждается.

Основной принцип тот же, что у вас есть набор циклических данных, это всего лишь случай изменения ориентации, чтобы он прокручивался горизонтально, а не вертикально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...