![]() |
|
||||||||||
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
спасибо, кстати
bitmapMaterial.interactive = true; никак не влияет на работу |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 141
|
у меня у самого сейчас примерно та же проблема... в доках везде interactive = true;
А что его ставь, что нет, все равно у меня не срабатывает... хотя, если примеры из доков брать, то всё нормально... непонятно. ![]() |
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
то есть у тебя из доков примеры с кликами работают?
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 141
|
ага... сам не пойму почему так...
может ICQ, вместе разбираться бум... ![]() |
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
можно
Ну я и говорю... Это мистика какая то.. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 141
|
ХАХАХА!!!!
Я кажись нашел нюанс...!!! viewport.interactive = true; у меня это из ReflectionView viewport.viewport.interactive = true; |
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
Обращаюсь к опытным людям!
Почему в этом коде не срабатывает клик по любой грани? package { import flash.display.Bitmap; import flash.events.Event; import flash.net.navigateToURL; import flash.net.URLRequest; import flash.events.MouseEvent; import org.papervision3d.objects.DisplayObject3D; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.view.BasicView; import org.papervision3d.events.InteractiveScene3DEvent; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class CubeWithDifferentSides extends BasicView { [Embed(source="assets/smallgrid.png")] private var backAsset:Class; [Embed(source="assets/smallgrid.png")] private var bottomAsset:Class; [Embed(source="assets/smallgrid.png")] private var frontAsset:Class; [Embed(source="assets/smallgrid.png")] private var leftAsset:Class; [Embed(source="assets/smallgrid.png")] private var rightAsset:Class; [Embed(source="assets/smallgrid.png")] private var topAsset:Class; private var cube:Cube; public function CubeWithDifferentSides() { var materialsList:MaterialsList = new MaterialsList(); viewport.interactive = true; materialsList.addMaterial(createShadedMaterial( new backAsset() ), "back"); materialsList.addMaterial(createShadedMaterial( new bottomAsset() ), "bottom"); materialsList.addMaterial(createShadedMaterial( new frontAsset() ), "front"); materialsList.addMaterial(createShadedMaterial( new leftAsset() ), "left"); materialsList.addMaterial(createShadedMaterial( new rightAsset() ), "right"); materialsList.addMaterial(createShadedMaterial( new topAsset() ), "top"); cube = new Cube(materialsList, 500, 500, 500, 5, 5, 5); scene.addChild(cube); cube.addEventListener(MouseEvent.CLICK, onCubeClick); startRendering(); } private function createShadedMaterial(bitmap:Bitmap):BitmapMaterial { return new BitmapMaterial(bitmap.bitmapData, true); } private function onCubeClick(event:MouseEvent):void { trace("It is not working..."); } override protected function onRenderTick(event:Event=null):void { cube.rotationY += (viewport.containerSprite.mouseX - cube.rotationY) * .1; cube.rotationX += (viewport.containerSprite.mouseY - cube.rotationX) * .1; renderer.renderScene(scene, camera, viewport); } } } Как сделать клик во флеш? Вообщем привожу код простого зд объекта. Это простой куб с шестью грнаями. Вопрос как изменить этот код чтобы по каждой из шести граней можно было бы кликнуть и увидеть текст "Грань номер n работает!" ??? package { import flash.display.Bitmap; import flash.events.Event; import org.papervision3d.core.proto.MaterialObject3D; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.view.BasicView; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class InsideFacesOfACube extends BasicView { [Embed(source='../assets/back.jpg')] private var backAsset:Class; [Embed(source='../assets/bottom.jpg')] private var bottomAsset:Class; [Embed(source='../assets/front.jpg')] private var frontAsset:Class; [Embed(source='../assets/left.jpg')] private var leftAsset:Class; [Embed(source='../assets/right.jpg')] private var rightAsset:Class; [Embed(source='../assets/top.jpg')] private var topAsset:Class; [Embed(source='../assets/287.jpg')] private var environmentAsset:Class; private var light:PointLight3D; private var cube:Cube; public function InsideFacesOfACube() { light = new PointLight3D(); var materialsList:MaterialsList = new MaterialsList(); materialsList.addMaterial(createShadedMaterial( new backAsset() ), "back"); materialsList.addMaterial(createShadedMaterial( new bottomAsset() ), "bottom"); materialsList.addMaterial(createShadedMaterial( new frontAsset() ), "front"); materialsList.addMaterial(createShadedMaterial( new leftAsset() ), "left"); materialsList.addMaterial(createShadedMaterial( new rightAsset() ), "right"); materialsList.addMaterial(createShadedMaterial( new topAsset() ), "top"); cube = new Cube(materialsList, 500, 500, 500, 5, 5, 5); scene.addChild(cube); startRendering(); } private function createShadedMaterial(bitmap:Bitmap):BitmapMaterial { return new BitmapMaterial(bitmap.bitmapData, true); } override protected function onRenderTick(event:Event=null):void { cube.rotationY += (viewport.containerSprite.mouseX - cube.rotationY) * .1; cube.rotationX += (viewport.containerSprite.mouseY - cube.rotationX) * .1; renderer.renderScene(scene, camera, viewport); } } } |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
onCubeClick InteractiveScene3DEvent а не MouseEvent.
|
|
|||||
|
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
Obi
дело в том что твой код с которым ты мне помог до этого момента, не работает Всё компилируется но клика нет. Я не знаю как эту мистику исправить, честно я не знаю. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 141
|
http://www.gotoandlearn.com/play?id=68 - видео урок, как делать куб с кликабельными плоскостями.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|