|
|
|||||
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
Тормоза с воспроизведением ролика
Итак я сделал два кубика: один во Флеш кс3 а другой в ФлешДевелоп.
Ссылки у меня работают только с проектом, сделанным во Флеш ксз, в другом же по-прежнему ссылки не работают. Куб построенный с флешдевелоп весит почти в 2 раза того, что построен с Флеш CS3. Но в чём прикол то? Второй куб построенный с флешдевелоп работает гладко и быстро, а другой, тот что в два раза легче тормозит неповерно. Объясните что это такое? Как сдeлать чтобы кубик вертелся без тормозов в Флеш кс3, как в ФлешДевелоп? Спасибо Последний раз редактировалось MafiaBoy; 24.01.2009 в 14:39. |
|
|||||
стервочка (я мужик)
|
тут тебя сейчас никто не понял. ты выложи 2 кубика, и напиши кто из них где.
|
|
|||||
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
Нет проблем
Первое: Код кубика, созданный с помощью Flash CS3 import org.papervision3d.scenes.*; import org.papervision3d.cameras.*; import org.papervision3d.objects.*; import org.papervision3d.objects.special.*; import org.papervision3d.objects.primitives.*; import org.papervision3d.materials.*; import org.papervision3d.materials.special.*; import org.papervision3d.materials.shaders.*; import org.papervision3d.materials.utils.*; import org.papervision3d.lights.*; import org.papervision3d.render.*; import org.papervision3d.view.*; import org.papervision3d.events.*; import org.papervision3d.core.utils.*; import org.papervision3d.core.utils.virtualmouse.VirtualMouse; var viewport:Viewport3D = new Viewport3D(0, 0, true, true); addChild(viewport); viewport.buttonMode = true; var renderer:BasicRenderEngine = new BasicRenderEngine(); var scene:Scene3D = new Scene3D(); var camera:Camera3D = new Camera3D(); camera.zoom = 11; camera.focus = 100; var mam:MovieMaterial = new MovieMaterial(face); mam.interactive = true; mam.smooth = true; mam.animated = true; var mam2:MovieMaterial = new MovieMaterial(face2); mam2.interactive = true; mam2.smooth = true; mam2.animated = true; var mam3:MovieMaterial = new MovieMaterial(face3); mam3.interactive = true; mam3.smooth = true; mam3.animated = true; var mam4:MovieMaterial = new MovieMaterial(face4); mam4.interactive = true; mam4.smooth = true; mam4.animated = true; var mam5:MovieMaterial = new MovieMaterial(face5); mam5.interactive = true; mam5.smooth = true; mam5.animated = true; var mam6:MovieMaterial = new MovieMaterial(face6); mam6.interactive = true; mam6.smooth = true; mam6.animated = true; var cube:Cube = new Cube(new MaterialsList({front:mam, back:mam2, left:mam3, right:mam4,top:mam5, bottom:mam6}), 200, 200, 200, 10, 10, 10); scene.addChild(cube); addEventListener(Event.ENTER_FRAME, loop); function loop(e:Event):void { var xDist:Number = mouseX - stage.stageWidth * 0.5; var yDist:Number = mouseY - stage.stageHeight * 0.5; cube.rotationY += xDist * 0.05; cube.rotationX += -yDist * 0.05; renderer.renderScene(scene, camera, viewport); } face.addEventListener(MouseEvent.CLICK, faceClick); function faceClick(e:MouseEvent):void { navigateToURL(new URLRequest("http://www.yahoo.com")); } face2.addEventListener(MouseEvent.CLICK, face2Click); function face2Click(e:MouseEvent):void { navigateToURL(new URLRequest("http://www.google.com")); } face3.addEventListener(MouseEvent.CLICK, face3Click); function face3Click(e:MouseEvent):void { navigateToURL(new URLRequest("http://www.flickr.com")); } face4.addEventListener(MouseEvent.CLICK, face4Click); function face4Click(e:MouseEvent):void { navigateToURL(new URLRequest("http://www.youtube.com")); } face5.addEventListener(MouseEvent.CLICK, face5Click); function face5Click(e:MouseEvent):void { navigateToURL(new URLRequest("http://www.facebook.com")); } face6.addEventListener(MouseEvent.CLICK, face6Click); function face6Click(e:MouseEvent):void { navigateToURL(new URLRequest("http://www.adobe.com")); } package { import flash.display.Bitmap; import flash.events.Event; import flash.events.MouseEvent; import flash.net.navigateToURL; import flash.net.URLRequest; import org.papervision3d.events.InteractiveScene3DEvent; 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="30")] public class CubeWithDifferentSides extends BasicView { [Embed(source='2782350904_dd8b955fb1.jpg')] private var backAsset:Class; [Embed(source='2782350904_dd8b955fb1.jpg')] private var bottomAsset:Class; [Embed(source='2782350904_dd8b955fb1.jpg')] private var frontAsset:Class; [Embed(source='2782350904_dd8b955fb1.jpg')] private var leftAsset:Class; [Embed(source='2782350904_dd8b955fb1.jpg')] private var rightAsset:Class; [Embed(source='2782350904_dd8b955fb1.jpg')] private var topAsset:Class; private var cube:Cube; private var frontMaterial:BitmapMaterial = new BitmapMaterial(new frontAsset().bitmapData, true); private var backMaterial:BitmapMaterial = new BitmapMaterial(new backAsset().bitmapData, true); private var leftMaterial:BitmapMaterial = new BitmapMaterial(new leftAsset().bitmapData, true); private var rightMaterial:BitmapMaterial = new BitmapMaterial(new rightAsset().bitmapData, true); private var topMaterial:BitmapMaterial = new BitmapMaterial(new topAsset().bitmapData, true); private var bottomMaterial:BitmapMaterial = new BitmapMaterial(new bottomAsset().bitmapData, true); public function CubeWithDifferentSides() { var materialsList:MaterialsList = new MaterialsList(); viewport.interactive = true; frontMaterial.interactive = true; frontMaterial.name = "front"; backMaterial.interactive = true; backMaterial.name = "back"; leftMaterial.interactive = true; leftMaterial.name = "left"; rightMaterial.interactive = true; rightMaterial.name = "right"; topMaterial.interactive = true; topMaterial.name = "top"; bottomMaterial.interactive = true; bottomMaterial.name = "bottom"; //* cube = new Cube(new MaterialsList( {front: frontMaterial, back: backMaterial, left: leftMaterial, right: rightMaterial, top:topMaterial, bottom: bottomMaterial} ), 500, 500, 500, 3, 3, 3); /*/ // Альтернативный вариант инициализацмм куба materialsList.addMaterial(bottomMaterial, "bottom"); materialsList.addMaterial(backMaterial, "back"); materialsList.addMaterial(frontMaterial, "front"); materialsList.addMaterial(leftMaterial, "left"); materialsList.addMaterial(rightMaterial, "right"); materialsList.addMaterial(topMaterial, "top"); cube = new Cube(materialsList, 500, 500, 500, 3, 3, 3); //*/ cube.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, onCubeOver); cube.addEventListener(InteractiveScene3DEvent.OBJECT_OUT, onCubeOut); cube.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, onCubeClick); scene.addChild(cube); startRendering(); } private function onCubeOver(event:InteractiveScene3DEvent):void { viewport.buttonMode = true; } private function onCubeOut(event:InteractiveScene3DEvent):void { viewport.buttonMode = false; } 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); } private function onCubeClick(event:InteractiveScene3DEvent):void { switch(event.face3d.material.name) { case 'front': navigateToURL(new URLRequest('http://mySite.com/1')); break; case 'back': navigateToURL(new URLRequest('http://mySite.com/2')); break; case 'left': navigateToURL(new URLRequest('http://mySite.com/3')); break; case 'right': navigateToURL(new URLRequest('http://mySite.com/4')); break; case 'top': navigateToURL(new URLRequest('http://mySite.com/4')); break; case 'bottom': navigateToURL(new URLRequest('http://mySite.com/4')); break; } } } } |
|
|||||
Цитата:
насчет тормозов: в CS3-шном кубике собери грани из битмапов, не включай сглаживание/анимацию и скорее всего получишь такой же шустрый кубик насчет кликабельности подозреваю, что просто надо тщательнее смотреть кого ты слушаешь и что приходит в евенте |
|
|||||
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
silin спасибо конечно
Но как это вс( сделать в Flash cs3? |
|
|||||
а что именно "это все" ?
у тебя есть рабочий пример.. в пустом fla поставь CubeWithDifferentSides как документКласс битмапы возьмешь не через [Embed..], а из библиотеки: var frontMaterial:BitmapMaterial = new BitmapMaterial(new face0(0,0), true);//face0- класс картинки в библиотеке.. ps не очень понимаю зачем только |
|
|||||
[+6 04.02.09]
Регистрация: Jan 2009
Сообщений: 54
|
Спасибо вам, люди. Особо радует что вы направляете меня на Путь истинный.
У меня ещё есть пара вопросов для Профи во Flash CS3 or 4 1) Куб я сделал по алгоритму первому, так вот когда я его запускаю то вижу, что позади куба(на заднем плане) находится текстура, её там быть не должно, ещё раз повторю я создавал куб во Flash CS3, а картинки импортировал в Библиотеку проекта. Как убрать текстуру на заднем плане? 2)Когда я запускаю страницу с диска то я вижу как сначала на странице появляется белая область а потом подгружается сам swf! Фон страницы ө чёрный. Как сделать чтобы сразу отображался ролик без задержки, или это глюк??? Последний раз редактировалось MafiaBoy; 25.01.2009 в 13:58. |
Часовой пояс GMT +4, время: 19:08. |
|
« Предыдущая тема | Следующая тема » |
|
|