|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Разница в выполнении в разных плеерах
Здравствуйте.
Ситуация такая: Есть ролик, с использованием stage3D. Если запускать его из браузера — все хорошо, но если с помощью Flash Player 11.2 Projector, то 3д-объекта не видно. Почему так может быть?
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Регистрация: Mar 2010
Сообщений: 48
|
может быть он подгружается отдельно?
Во флешке на него может быть локальная ссылка, либо у Projector не выставлены разрешения для общения с сетью. |
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Цитата:
[img]http://s019.***********/i618/1204/43/6b7bcabb5a51.png[/img]
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Кэп подсказывает, что версии разные.
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Тоже так сначала подумал, для этого задал вопрос, сделал маленькую флешку и запустил (в браузере и в прожекторе). Результат одинаков:
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Регистрация: Mar 2010
Сообщений: 48
|
а можете выложить исходник аномальной флешки или ее части?
|
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Он большой, но простой:
(для чего флешка: чтобы проверить работает ли передача/прием данных там, куда будет флешка вставлена, например, вставленная в программу на Delphi, и поддерживается ли 3д) public class P7compatibility extends Sprite { private var t2:TextField = new TextField(); private var camera:Camera3D; private var rootContainer:Object3D; private var box:Box; private var stage3D:Stage3D; private var ibox:WireFrame; private var cubeContainer:Object3D; public function P7compatibility() { super(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; draw(); } private function draw():void{ // «кнопка» (текстфилд в спрайте) var t1:TextField = new TextField(); t1.text = "Отправить данные"; t1.width = t1.textWidth+3; t1.height = t1.textHeight+3; t1.selectable = false; var s1:Sprite = new Sprite(); s1.graphics.lineStyle(1, 0xcccccc, 1, true); s1.graphics.beginFill(0xffffff); s1.graphics.drawRect(0, 0, t1.textWidth+3, t1.textHeight+3); s1.addChild(t1); addChild(s1); s1.x = 10; s1.y = 10; s1.addEventListener(MouseEvent.ROLL_OVER, setHandCursor); s1.addEventListener(MouseEvent.ROLL_OUT, setArrowCursor); s1.addEventListener(MouseEvent.CLICK, sendToExternalContainer); // текстфилд t2.text = "Принятые данные:"; addChild(t2); t2.x = s1.x; t2.y = s1.y + s1.height + 10; // слушатель вызова внешним кодом функции sendToFlash во флеше ExternalInterface.addCallback("sendToFlash", receivedFromExternalContainer); // текстфилд var t3:TextField = new TextField(); t3.text = "Проверка 3D:"; t3.x = s1.x; t3.y = t2.y + 50; addChild(t3); // блок для проверки поддержки 3д stage3D = stage.stage3Ds[0]; camera = new Camera3D(10, 1000); camera.z = 250; camera.rotationY = -Math.PI; // кнтейнеры для камеры и куба rootContainer = new Object3D(); cubeContainer = new Object3D(); // куб box = new Box() box.setMaterialToAllSurfaces(new FillMaterial(0xCCCCCC, 0.99)); // ребра куба (куб только из ребер) ibox = new WireFrame(); ibox = WireFrame.createEdges((box as Mesh), 0x000000, 1, 2); // камера camera.view = new View(150, 150, false, 0xFFFFFF, 1, 7); camera.view.hideLogo(); camera.fov = Math.PI/3; camera.view.x = s1.x; camera.view.y = t3.y + t3.textHeight + 10; // корневой контейнер содержит камеру и контейнер для куба rootContainer.addChild(camera); // контейнер куба содержит куб и ребра куба cubeContainer.addChild(box); cubeContainer.addChild(ibox); rootContainer.addChild(cubeContainer); addChild(camera.view); // ждем создания контекста 3д stage3D.addEventListener(Event.CONTEXT3D_CREATE, init); stage3D.requestContext3D(); } // реакция на создание контекста 3д private function init(e:Event):void{ stage3D.removeEventListener(Event.CONTEXT3D_CREATE, init); // загрузка ресурсов в контекст for each (var resource:Resource in rootContainer.getResources(true)) { resource.upload(stage3D.context3D); } // слушатель на энтерфрейм this.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } // слушатель на энтерфрейм private function enterFrameHandler(e:Event):void{ // вращение куба cubeContainer.rotationX += 0.01; cubeContainer.rotationY += 0.05; cubeContainer.rotationZ += 0.05; camera.render(stage3D); } // изменение вида курсора private function setHandCursor(e:MouseEvent):void{ Mouse.cursor = MouseCursor.BUTTON; } private function setArrowCursor(e:MouseEvent):void{ Mouse.cursor = MouseCursor.AUTO; } // посылает по клику во внешнюю функцию sendFromFlash строку private function sendToExternalContainer(e:MouseEvent):void{ ExternalInterface.call("sendFromFlash", "Hello, Im flash"); } // принимает строку из внешней функции sendToFlash private function receivedFromExternalContainer(value:String):void{ t2.text = "Принятые данные: \n" + value; } }
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Цитата:
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Nov 2010
Сообщений: 430
|
Цитата:
Но в любом случае — версия одна, а отображение разное. Чем это может быть вызвано?
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
Часовой пояс GMT +4, время: 08:51. |
|
« Предыдущая тема | Следующая тема » |
|
|