|
|
|||||
Регистрация: Feb 2009
Сообщений: 66
|
меню на кубе
Подскажите пожалуйста, что читать, гуглить и вообще в какую сторону разбирать стену непонимания.
Нужно сделать меню на кубе. На каждой грани - несколько анимированных фигурных кнопок (не прямоугольники). Граней нужно всего 3, при наведении на каждую куб поворачивается нужной стороной. Попробовала сначала отрендерить свифтом куб, потом подставлять к нему клипы, поворачивая их с помощью 3d rotation. Выходит криво и часто что-то слетает (мувиклип в плоскости пока его редактирую живет своей жизнью -поворачиваю например по оси х на 30 градусов, на мониторе вижу совершенно иное) Решила помучиться с движком. Взяла сэнди. Делала по урокам куб, на одну грань положила свфку. Но кнопки не активны. Сэнди только мувики-анимацию на грани класть умеет? package { import flash.display.*; import flash.net.URLRequest; import flash.events.*; import flash.ui.*; import sandy.core.Scene3D; import sandy.core.data.*; import sandy.core.scenegraph.*; import sandy.materials.*; import sandy.materials.attributes.*; import sandy.primitive.*; import sandy.util.*; import sandy.events.*; public class demo1 extends Sprite { private var scene:Scene3D; private var camera:Camera3D; private var box:Box; private var queue:LoaderQueue; public function demo1():void { queue = new LoaderQueue(); queue.add( "test", new URLRequest("left_cube_side.swf") ); queue.add( "test2", new URLRequest("top_cube_side.swf") ); queue.addEventListener(SandyEvent.QUEUE_COMPLETE, loadComplete ); queue.start(); } public function loadComplete(event:QueueEvent ):void { // камера camera = new Camera3D( 300, 300 ); camera.z = -400; //группа var root:Group = createScene(); // добавляем все на сцену scene = new Scene3D( "scene", this, camera, root ); // рендер addEventListener( Event.ENTER_FRAME, enterFrameHandler ); } // делаем графику private function createScene():Group { // создаем саму группу var g:Group = new Group(); // куб box = new Box( "box",100,100,100,"tri"); box.rotateX = 30; box.rotateY = 30; box.x = 0; // материал var materialAttr:MaterialAttributes = new MaterialAttributes( new LineAttributes( 0, 0xD7D79D, 0 ), new LightAttributes( true, 0.1) ); var material:Material = new ColorMaterial( 0xD7D79D, 1, materialAttr ); material.lightingEnable = true; var app:Appearance = new Appearance( material ); // кнопки на грани var material01:MovieMaterial = new MovieMaterial( queue.data["test"],40); material01.lightingEnable = true; var app01:Appearance = new Appearance( material01 ); var material02:MovieMaterial = new MovieMaterial( queue.data["test2"],40); material02.lightingEnable = true; var app02:Appearance = new Appearance( material02 ); box.appearance = app; box.aPolygons[0].appearance = app01; box.aPolygons[1].appearance = app01; box.aPolygons[2].appearance = app02; box.aPolygons[3].appearance = app02; box.aPolygons[10].appearance = app02; box.aPolygons[11].appearance = app02; g.addChild( box ); return g; } // рендер private function enterFrameHandler( event : Event ) : void { box.tilt += 1; box.pan += 1; //вращение scene.render(); } } } (в архиве - то, что от свифта осталось) |
|
|||||
"Но кнопки не активны" - что вообще за меню, оно на внешние сайты ссылается или в самом флеше какие-то действия выполняет?
Анимация во всех 3д движках только в MovieClip. А вообще советую http://alternativaplatform.com/ru/ а не Sandy |
Часовой пояс GMT +4, время: 13:35. |
|
« Предыдущая тема | Следующая тема » |
|
|