Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.03.2009, 22:51
3Desian вне форума Посмотреть профиль Отправить личное сообщение для 3Desian Найти все сообщения от 3Desian
  № 1  
Ответить с цитированием
3Desian
 
Аватар для 3Desian

Регистрация: Mar 2007
Сообщений: 142
Отправить сообщение для 3Desian с помощью ICQ
Cool Papervision camera.orbit ругается

Всем привет. Вот странный глюк. Есть такой пример

Код AS3:
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.
Старый 05.03.2009, 12:31
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 2  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Значит версия pv3d у Вас отличается от той, для которой написан пример.
__________________
Griver

Старый 05.03.2009, 15:21
3Desian вне форума Посмотреть профиль Отправить личное сообщение для 3Desian Найти все сообщения от 3Desian
  № 3  
Ответить с цитированием
3Desian
 
Аватар для 3Desian

Регистрация: Mar 2007
Сообщений: 142
Отправить сообщение для 3Desian с помощью ICQ
У меня Public Alpha 2.0 - Great White как оказалось.
Работает только:
Код AS3:
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 и вращать только его, но как привязать... вот вопрос. Хэлп ми, плиз... я уже огорчённый весь.

Старый 20.03.2009, 12:43
Yuorik вне форума Посмотреть профиль Отправить личное сообщение для Yuorik Найти все сообщения от Yuorik
  № 4  
Ответить с цитированием
Yuorik
 
Аватар для Yuorik

Регистрация: Oct 2002
Адрес: Львов
Сообщений: 103
Отправить сообщение для Yuorik с помощью ICQ
http://ddblog.vfs.com/2008/01/27/pap...t-on-all-axis/
__________________
Правильный вопрос, это половина ответа.

Старый 28.07.2011, 12:38
maxxtr вне форума Посмотреть профиль Отправить личное сообщение для maxxtr Найти все сообщения от maxxtr
  № 5  
Ответить с цитированием
maxxtr

Регистрация: 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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:15.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.