Показать сообщение отдельно
Старый 08.10.2014, 17:45
WSW вне форума Посмотреть профиль Отправить личное сообщение для WSW Найти все сообщения от WSW
  № 1  
Ответить с цитированием
WSW

Регистрация: Oct 2014
Сообщений: 5
По умолчанию Отсутствие графики в браузерном тестировании

Доброго времени суток.
Суть кода - загружает картинку в рамочке. Позволяет мышкой прокручивать (до рамки), роликом мышки масштабировать изображение.
При запуске во Adobe Flash CS6 код исполняется великолепно.
При запуске в браузере нет графики.
Цель - выявить причину.
Код:
package  {
	//http://cs623426.vk.me/v623426204/3556/pKJTdrHkvio.jpg
	//import flash.display.Sprite;
	//import flash.display.Bitmap;
	//import flash.display.Shape;
	//import flash.events.MouseEvent;
	import flash.geom.Matrix;
	import flash.net.URLRequest;
	//import flash.events.*;
	import flash.display.*;
	//import flash.text.*;
	import flash.events.*;	
	import flash.media.Sound;
	import flash.media.SoundChannel;
	import flash.utils.Timer;
	
	public class CastleInterface extends Sprite {
		//private static var _map_Bitmap:ImportedImage1;
		private var mapCont:Sprite;
		private var mapMask:Shape;
		private var border:Shape;
		private var center:Shape;
		var size:int;
		var CityBitmapLoader:Loader;
		var CityBitmap:Bitmap;
		
		
		public function CastleInterface() {
			
			//const IMAGE_URL:String = "http://**********/58412586/image.png";
			const IMAGE_URL:String = "http://**********/58412619/image.png";
 			CityBitmapLoader = new Loader();
			CityBitmapLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, CityBitmapLoader_complete);
			CityBitmapLoader.load(new URLRequest(IMAGE_URL));
			/*addChild(romeImageBitmap);
			var romeImageData:RomeImage = new RomeImage();
			var romeImageBitmap:Bitmap = new Bitmap(romeImageData);
			addChild(romeImageBitmap);*/

			//var mapBitmap:Bitmap ;//= new Bitmap(romeImageData); 
			//addChild(mapBitmap);
			mapCont = new Sprite();
			//mapCont.addChild(CityBitmap);
			mapCont.x=0;
			mapCont.y=0;
			addChild(mapCont);
			mapCont.addEventListener(MouseEvent.MOUSE_DOWN, downHandler);
			//
			mapMask = new Shape();
			mapMask.graphics.beginFill(0x0, 1);
			mapMask.graphics.drawRect(00, 00, 700, 550);
			mapMask.graphics.endFill();
			mapCont.mask = mapMask;
			//
			size = 350;
			border = new Shape();
			border.graphics.lineStyle(1, 0xff0000, 1);
			border.graphics.moveTo(0, 0);
			border.graphics.lineTo(700, 0);
			border.graphics.lineTo(700, 550);
			border.graphics.lineTo(0, 550);
			border.graphics.lineTo(0, 0);
			//
			center = new Shape();
			center.graphics.lineStyle(1, 0xff0000, 1);
			center.graphics.moveTo( 700/2+20, 550/2);
			center.graphics.lineTo( 700/2-20, 550/2);
			center.graphics.moveTo( 700/2, 550/2+20);
			center.graphics.lineTo( 700/2, 550/2-20);
			//
			this.addChild(mapCont);
			this.addChild(mapMask);
			this.addChild(border);
			this.addChild(center);
			//
			this.addEventListener(MouseEvent.MOUSE_WHEEL, wheelHandlerl);
		}
		private function wheelHandlerl(event:MouseEvent):void
		{
			
			trace("Wheel");
			/*var direction:int = event.delta/Math.abs(event.delta);
			var scale:Number = this.scale + direction*0.1;
			if (scale < minScale) scale = minScale;
			if (scale > maxScale) scale = maxScale;
			applyScale(scale, this.mouseX, this.mouseY);*/
			
			if (event.delta < 0)applyScale(0.95, this.mouseX, this.mouseY);//scaling(0.95);
			if (event.delta > 0)applyScale(1.05, this.mouseX, this.mouseY);//scaling(1.05);
			Check_The_Granici();
			trace("Scale = "+mapCont.scaleX);
			event.updateAfterEvent();
		}
		private function downHandler(event:MouseEvent):void
		{
			this.stage.addEventListener(MouseEvent.MOUSE_UP, upHandler);
			this.stage.addEventListener(MouseEvent.MOUSE_MOVE, moveHandler);
			mapCont.startDrag();
		}
		private function moveHandler(event:MouseEvent):void
		{//mapMask
			Check_The_Granici();
			event.updateAfterEvent();
		}
		private function upHandler(event:MouseEvent):void
		{
			this.stage.removeEventListener(MouseEvent.MOUSE_UP, upHandler);
			this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveHandler);
			if (mapCont.x > 20 && mapCont.y > 20)
			{mapCont.x = 20 ; mapCont.y = 20;}
			
			if (mapCont.x+mapCont.width <350)
			mapCont.x = 350 - mapCont.width;
			mapCont.stopDrag();
		}
		private function Check_The_Granici()
		{
			if (mapCont.x > 00 )
			{mapCont.x = 00 ;}
			if (mapCont.y > 00)
			{mapCont.y = 00 ;}
			if (mapCont.x+mapCont.width <700)
			mapCont.x = 700 - mapCont.width;
			if (mapCont.y+mapCont.height <550)
			mapCont.y = 550 - mapCont.height;
		}
		/*private function scaling(Scale:Number)
		{
			if (Scale > 1 && mapCont.scaleX < 2)
			{mapCont.scaleX *= 1.05;
		    mapCont.scaleY *= 1.05;}
			else if (Scale < 1 && mapCont.scaleX > 0.65)
			{mapCont.scaleX *= 0.95;
		    mapCont.scaleY *= 0.95;
			}
			trace("Wheel. ScaleX = "+mapCont.scaleX);
		}*/
		private function applyScale(scale:Number, centerX:Number, centerY:Number):void
        {
			//супер пупер мего ограничение(защита)
			if (!((scale > 1 && mapCont.scaleX < 2) || (scale < 1 && mapCont.scaleX > 0.65)))
			return;
            // создаем новую матрицу трансформации
            var newMatrix:Matrix = new Matrix();
            // смещаем матрицу в точку,
            // относительно которой будет происходить масштабирование
            newMatrix.translate(-centerX, -centerY);
            // прменяем измененное(!!!) масштабирование
            newMatrix.scale(scale, scale);
            // возвращаем матрицу в исходное местоположение
            newMatrix.translate(centerX, centerY);
            //
            // получаем текущую матрицу трансформации
            var matrix:Matrix = mapCont.transform.matrix;
            // умножаем текущую матрицу на новую
            matrix.concat(newMatrix);
            //
            // применяем полученную матрицу трансформации
            mapCont.transform.matrix = matrix;
            //
            // запоминаем текущее значение скейла
        }
		
			function CityBitmapLoader_complete(evt:Event):void {
    			var bmp:Bitmap = CityBitmapLoader.content as Bitmap;
 		    	CityBitmap = new Bitmap(bmp.bitmapData);
    			CityBitmap.x = 0;
    			CityBitmap.y = 0;
    			CityBitmap.rotation = 0;
				bmp=null;
    			mapCont.addChild(CityBitmap);
				trace ("Width ="+CityBitmap.width);
				trace ("Scale ="+CityBitmap.scaleX);
			}
	}
	
}