![]() |
Переворачивание карт (3D вращение)
Всем привет. Столкнулся с задачей осуществления переворачивания карточек.
Имеется картинка. Ее надо разбить на 24 квадратика. Получатся карточки. Положить их на сцену "рубашкой наверх". А потом, случайным (а может быть заданным. пока все-равно) порядком переворачивать. Главное что-бы переворачивание выглядело реалистично. Я знаю, есть всякие пакеты построения трехмерных моделей. Ими сложно пользоваться, но научиться можно. А вот как цельную картинку разбить на кусочки так, что бы кусочки представляли собой отдельные объекты с которыми можно работать? Есть у кого какие идеи? Подскажите, пожалуйста. Разрезать исходную картинку вне флеша я пока не принимаю во внимание, поскольку предполагаю, что есть возможность сделать это программно. Но если программно займет много времени и ресурсозатрат, то конечно буду резать вне флеша. |
Да ничего сложного-то =) Вот, примерно так
Код AS3:
|
А переворачивать можете, используя 3D трансформации. Рубашку менять на изображение, когда карта повернута к зрителю ребром.
|
Ух ты! получается нужно сделать клип с картинкой кземпляром класса Generator и вызвать метод getBitmaps.
А результатом выйдут порезанные картиночки. А результатом будут объекты result[ind] - массив этих картинок. Я правильно понял? а как к ним обращаться? Или это я уже перебрал с нескромностью? |
осталось как то сделать закругленные углы :)
|
осталось только в цикле создать спрайты, запихнуть туда картинки, расставить их по местам, подписать их на событие или рандомно проходиться по элементам массива и применить к ним псевдо 3d трансформацию вращения.
|
Закругленные углы:
Внизу Bitmap, у которой по необходимости меняем bitmapData. Сверху маской Shape, в нем graphics.drawRoundRect(...) |
а зачем закругленные углы. Мне они не нужны.
Сцена выглядит так: На белом поле переворачиваются сами собой последовательно прямоугольнички (карточки), на обратно стороне которых части изображения. Когда все карточки перевернуты на сцене полноценная картинка. И так с несколькими картинками. Что-то типа мозайки получается. так как обратиться мне к результатам представленного класса? Не так ли как я предположил в предыдущем своем сообщении? |
про углы эт шутка, обращайтесь к элементам массива, это удобнее всего.
|
Друзья! Как мне теперь каждый разрезанный кусочек превратить в DisplayObject, что бы я мог с ним работать?
Так, это код в первом кадре. Я изменил немного подход GloomyBrain, написав это все не в классе. Код AS3:
Все компилириуется без ошибок. Но и на экране ничего нет. Оно и понятно. Я ничего на сцену не добавлял. При попытке добавить на сцену элементы массива picAr, выдается ошибка: TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать flash.display::BitmapData@10ce2151 в flash.display.DisplayObject. at piiiic_fla::MainTimeline/frame1() Пытался добавить на экран вот так (последний цикл): Код AS3:
Внутри основного цикла тоже не получается осуществить преобразование.. :( помогите Добавлено через 21 час 51 минуту Ура! получилось! |
| Часовой пояс GMT +4, время: 07:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.