Показать сообщение отдельно
Старый 18.02.2014, 11:26
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 3  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
то есть если мне нужно "приподнять" все объекты на 2D карте, нужно для каждого объекта перемещать наблюдателя в центр объекта? это нормальная практика? тоесть по сути z- это будет высота объекта на 2d карте, просто нужна высота, для будущего преобразования карты в 3D, а еще вопрос, допустим для масштабирования карты целиком нормально ли использовать этот подход? или лучше скейл

Добавлено через 11 минут
вот переделал ваш код, это нормальный подход или костыли?

Код AS3:
 
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.PerspectiveProjection;
import flash.geom.Point;
 
	public class Main extends Sprite 
	{
		private var obj:Sprite = new Sprite();
		private var obj2:Sprite = new Sprite();
 
 
		public function Main():void 
		{
			obj.graphics.beginFill(0x0080FF);
			obj.graphics.drawCircle(0, 0, 50);
			addChild(obj);
 
			obj2.graphics.beginFill(0x034555);
			obj2.graphics.drawCircle(0, 0, 50);
			addChild(obj2);
			stage.addEventListener(MouseEvent.MOUSE_WHEEL, stage_mouseWheel);
 
			obj.x = 200;
			obj.y = 200;
 
			obj2.x = 400;
			obj2.y = 400;
 
			obj.transform.perspectiveProjection = new PerspectiveProjection();
			obj.transform.perspectiveProjection.projectionCenter = new Point(obj.x, obj.y);
 
 
			obj2.transform.perspectiveProjection = new PerspectiveProjection();
			obj2.transform.perspectiveProjection.projectionCenter = new Point(obj2.x, obj2.y);
 
 
		}
 
		private function stage_mouseWheel(e:MouseEvent):void 
		{
			obj.z += 10 * e.delta;
			obj2.z += 10 * e.delta;
 
		}
 
	}
 
}