|
|
|||||
Регистрация: Feb 2014
Сообщений: 192
|
кубик
Попробовал сделать кубик, нарисовал на сцене 6 граней (movieclip - s1, s2 ... s6) - разместил их как в кубике, пробую вращать - не получается правильно размещать их в слоях, есть ли возможность делать их с одной стороны не прозрачными. Может быть есть где-то исходник?
Вот мой код addEventListener(Event.ENTER_FRAME,ef); function ef(e:Event):void { cube.rotationX++; cube.rotationY++; if (cube.rotationX > 0 && cube.rotationX < 90) { if (cube.rotationY > 0 && cube.rotationY < 90) { cube.addChild(cube.s1); cube.addChild(cube.s3); cube.addChild(cube.s4); } if (cube.rotationY > 90 && cube.rotationY < 180) { cube.addChild(cube.s4); cube.addChild(cube.s6); cube.addChild(cube.s2); } if (cube.rotationY > 180 && cube.rotationY < 270) { cube.addChild(cube.s6); cube.addChild(cube.s2); cube.addChild(cube.s5); } if (cube.rotationY > 270 && cube.rotationY < 360) { cube.addChild(cube.s3); cube.addChild(cube.s5); cube.addChild(cube.s1); } } if (cube.rotationX > 90 && cube.rotationX < 180) { if (cube.rotationY > 0 && cube.rotationY < 90) { cube.addChild(cube.s6); cube.addChild(cube.s3); cube.addChild(cube.s4); } if (cube.rotationY > 90 && cube.rotationY < 180) { cube.addChild(cube.s2); cube.addChild(cube.s4); cube.addChild(cube.s1); } if (cube.rotationY > 180 && cube.rotationY < 270) { cube.addChild(cube.s2); cube.addChild(cube.s1); cube.addChild(cube.s5); } if (cube.rotationY > 270 && cube.rotationY < 360) { cube.addChild(cube.s5); cube.addChild(cube.s6); cube.addChild(cube.s3); } } if (cube.rotationX > 180 && cube.rotationX < 270) { if (cube.rotationY > 0 && cube.rotationY < 90) { cube.addChild(cube.s4); cube.addChild(cube.s6); cube.addChild(cube.s2); } if (cube.rotationY > 90 && cube.rotationY < 180) { cube.addChild(cube.s1); cube.addChild(cube.s3); cube.addChild(cube.s4); } if (cube.rotationY > 180 && cube.rotationY < 270) { cube.addChild(cube.s1); cube.addChild(cube.s3); cube.addChild(cube.s5); } if (cube.rotationY > 270 && cube.rotationY < 360) { cube.addChild(cube.s5); cube.addChild(cube.s6); cube.addChild(cube.s2); } } if (cube.rotationX > 270 && cube.rotationX < 360) { if (cube.rotationY > 0 && cube.rotationY < 90) { cube.addChild(cube.s1); cube.addChild(cube.s2); cube.addChild(cube.s4); } if (cube.rotationY > 90 && cube.rotationY < 180) { cube.addChild(cube.s3); cube.addChild(cube.s6); cube.addChild(cube.s4); } if (cube.rotationY > 180 && cube.rotationY < 270) { cube.addChild(cube.s3); cube.addChild(cube.s6); cube.addChild(cube.s5); } if (cube.rotationY > 270 && cube.rotationY < 360) { cube.addChild(cube.s5); cube.addChild(cube.s1); cube.addChild(cube.s2); } } } |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Правильнее сортировать грани по z-координате, а лучше отсекать нелицевые грани.Оба метода неидеальны, но для кубика подойдет.Для чего-то сложнее копать в сторону agal/готовых 3д фреймворков.
|
|
|||||
http://silin.astraport.ru/#AS3/zod/simple/bin
только это недо-3Д и с самого начала никуда не годилось, а сейчас при наличии всяких Alternativ и Away3D, как-то совсем странно в эту сторону копать.. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Если человеку только кубик и нужен зачем же сразу тяжелую артиллерию подключать?
|
|
|||||
Регистрация: Feb 2014
Сообщений: 192
|
а где взять классы из import com.bit101.components.*;
|
|
|||||
Регистрация: Jul 2009
Сообщений: 149
|
|
Часовой пояс GMT +4, время: 20:40. |
|
« Предыдущая тема | Следующая тема » |
|
|