![]() |
|
||||||||||
|
|||||
|
Всем привет. Вот странный глюк. Есть такой пример
package { import flash.display.Sprite; import flash.events.Event; import org.papervision3d.cameras.Camera3D; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D; public class ExampleCamera3D extends Sprite { private var scene :Scene3D; private var camera :Camera3D; private var viewport :Viewport3D; private var renderer :BasicRenderEngine; private var material :ColorMaterial; private var material2 :ColorMaterial; private var object :Plane; private var object2 :Plane; private var angle :int; public function ExampleCamera3D() { init(); listen(); } private function init():void { initScene(); initCamera(); initViewport(); initRenderer(); initMaterial(); initObject(); } private function initScene():void { scene = new Scene3D(); } private function initCamera():void { camera = new Camera3D(); camera.x = 0; camera.y = 0; camera.z = -1000; } private function initViewport():void { viewport = new Viewport3D(); viewport.autoScaleToStage = true; addChild(viewport); } private function initRenderer():void { renderer = new BasicRenderEngine(); } private function initMaterial():void { material = new ColorMaterial(0x000000); material.doubleSided = true; material2 = new ColorMaterial(0xff0000); material2.doubleSided = true; } private function initObject():void { object = new Plane(material); object.x = 0; object.y = 0; object.z = 0; scene.addChild(object); object2 = new Plane(material2); object2.x = 0; object2.y = 0; object2.z = 1000; scene.addChild(object2); } private function listen():void { addEventListener(Event.ENTER_FRAME, handleEnterFrame); } private function handleEnterFrame(e:Event):void { camera.orbit(90, angle++); renderer.renderScene(scene, camera, viewport); } } } 1061: Call to a possibly undefined method orbit through a reference with static type org.papervision3d.cameras:Camera3D. camera.orbit(90, angle++); Не пойму почему. На сайте с примером всё работает, а у меня нет. Почему он ругаецо на строчку camera.orbit(90, angle++);. ![]() А пишу : camera.hover( 0,(200-mouseX)*.01, (200-mouseY)*.01); и это работает. Тока почему же... если у меня PV3D 2? Последний раз редактировалось 3Desian; 04.03.2009 в 23:41. |
|
|||||
|
У меня Public Alpha 2.0 - Great White как оказалось.
Работает только: if (MouseDOWN>=1){ camera.hover( 0,(Xmouse-mouseX)*0.005, -2); } stage.addEventListener(MouseEvent.MOUSE_DOWN, DownMouse); function DownMouse(event:Event): void {MouseDOWN = 1;} stage.addEventListener(MouseEvent.MOUSE_UP, UpMouse); function UpMouse(event:Event): void {MouseDOWN = 0;} Добавлено через 39 минут Мне нужно, что бы камера вокруг объекта не плавно крутилась, а жёстко. Т.е. на сколько влево мышь подвинул, на столько градусов и повернулась она вокруг объекта, а camera.hover делает плавность и камера иногда летает над объектом, если резко крутануть. Я понимаю, что для этого есть вариант привягки камеры к невидимому Cube и вращать только его, но как привязать... вот вопрос. Хэлп ми, плиз... я уже огорчённый весь. |
|
|||||
|
__________________
Правильный вопрос, это половина ответа. |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 3
|
Подскажите пожалуйста, что означает информация в OUTPUT при компеляции:
INFO: Papervision3D 2.0.0 (March 12th, 2009) INFO: Viewport autoScaleToStage : Papervision has changed the Stage scale mode. // Эта строчка меня почему-то смущает, что она обозначает? Почему-то при компеляции ошибок не возникает, но сам swf получается пустой, т.е. ничего не видно и ничего не происходит |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|