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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.01.2009, 14:33
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 1  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
По умолчанию Тормоза с воспроизведением ролика

Итак я сделал два кубика: один во Флеш кс3 а другой в ФлешДевелоп.
Ссылки у меня работают только с проектом, сделанным во Флеш ксз, в другом же по-прежнему ссылки не работают. Куб построенный с флешдевелоп весит почти в 2 раза того, что построен с Флеш CS3.
Но в чём прикол то? Второй куб построенный с флешдевелоп работает гладко и быстро, а другой, тот что в два раза легче тормозит неповерно.

Объясните что это такое? Как сдeлать чтобы кубик вертелся без тормозов в Флеш кс3, как в ФлешДевелоп?

Спасибо


Последний раз редактировалось MafiaBoy; 24.01.2009 в 14:39.
Старый 24.01.2009, 16:00
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
тут тебя сейчас никто не понял. ты выложи 2 кубика, и напиши кто из них где.

Старый 24.01.2009, 16:31
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 3  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
Нет проблем
Первое: Код кубика, созданный с помощью Flash CS3
Код AS3:
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"));
}
второе: Код кубика, созданного с использованием FlashDevelop последней версии, по сторонам кликнуть не возможно! Программа эта весит больше, но работает быстрее!!!!
Код AS3:
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;
			}
		}
	}
}

Старый 24.01.2009, 19:09
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Сообщение от MafiaBoy Посмотреть сообщение
Итак я сделал два кубика: один во Флеш кс3 а другой в ФлешДевелоп.
Ссылки у меня работают только с проектом, сделанным во Флеш ксз, в другом же по-прежнему ссылки не работают. Куб построенный с флешдевелоп весит почти в 2 раза того, что построен с Флеш CS3.
Но в чём прикол то? Второй куб построенный с флешдевелоп работает гладко и быстро, а другой, тот что в два раза легче тормозит неповерно.

Объясните что это такое? Как сдeлать чтобы кубик вертелся без тормозов в Флеш кс3, как в ФлешДевелоп?

Спасибо
вес разный скорее всего из-за того, что mxmlc кладет в ресурсы исходные картинки, а CS3 пожатые джепеги (отключи сжатие в CS3 - проверишь)

насчет тормозов:
в CS3-шном кубике собери грани из битмапов, не включай сглаживание/анимацию и скорее всего получишь такой же шустрый кубик

насчет кликабельности подозреваю, что просто надо тщательнее смотреть кого ты слушаешь и что приходит в евенте

Старый 24.01.2009, 19:18
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 5  
Ответить с цитированием
MafiaBoy
[+6 04.02.09]

Регистрация: Jan 2009
Сообщений: 54
silin спасибо конечно

Но как это вс( сделать в Flash cs3?

Старый 24.01.2009, 20:11
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
а что именно "это все" ?
у тебя есть рабочий пример..

в пустом fla поставь CubeWithDifferentSides как документКласс
битмапы возьмешь не через [Embed..], а из библиотеки:
var frontMaterial:BitmapMaterial = new BitmapMaterial(new face0(0,0), true);//face0- класс картинки в библиотеке..

ps не очень понимаю зачем только

Старый 25.01.2009, 13:54
MafiaBoy вне форума Посмотреть профиль Отправить личное сообщение для MafiaBoy Найти все сообщения от MafiaBoy
  № 7  
Ответить с цитированием
MafiaBoy
[+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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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