Название: Кубик Рубика Отправлено: mistud от 20 Марта 2011, 21:16:32 Всем привет! Собственно, тему обозначил: хочу сделать интерактивный кубик-рубик. Кто подскажет идею, как это можно реализовать.
Хочу, чтобы зажав кнопку мыши на одном кубике и, перетащив курсор на соседний и отпустив кнопку, провернулся соответствующий слой кубиков. Жду ваших идей! П.С. Такая идея возникла, когда захотел купить себе кубик и офигел от того, что его, во-первых, не смог найти в несколькоих местах (возможно не там искал, конечно), а, во-вторых, офигел от его стоимости - ниже 600 рублей нигде нет. А тот что за 25 рублей в доме печати приходит в негодность после нескольких дней использования. Название: Re: Кубик Рубика Отправлено: →|๖ۣۜDen|← от 20 Марта 2011, 22:29:00 В печь ненадёжные подделки! Даёшь виртуальный кубик Рубика! :D
Перво-наперво надо понимать как устроен этот агрегат. При выборе определённой оси (а выбор я бы сделал через ГУИ, наподобие гизмо - с тремя осями и выбором направления), вращать все 9 кубиков с привязкой pivot point'a для каждого кубика к центральному. Нажал на любой кубик, появилось это меню с выбором оси, нажал второй раз по направленной оси, пошло вращение. Как то так. ;) Название: Re: Кубик Рубика Отправлено: mistud от 20 Марта 2011, 22:39:12 Пожалуйста поподробнее про ГУИ? Плохо представляю, что это.
И если действовать по принципу осей, то, как сделать так, чтобы каждый раз после поворота к этим осям привязывались новые кубики, а не те, что только что повернули? Название: Re: Кубик Рубика Отправлено: →|๖ۣۜDen|← от 20 Марта 2011, 22:50:06 GUI - это графический интерфейс пользователя.
Про само гуи можно почитать здесь (http://guest3d.wohlnet.ru/g3d/?q=node/29). В конце каждого вращения делать переприсвоение матрицы пивот поинта. Например изначально все привязки настроены. После вращения например по часовой стрелке по определённой оси идёт переприсвоение пивот поинтов против часовой. Название: Re: Кубик Рубика Отправлено: Alteste от 21 Марта 2011, 13:17:19 Вот что то типо этого на флеше сделано:
http://armorgames.com/play/10591/interlocked |