Simplebutton图像比实际大

时间:2015-04-30 17:20:53

标签: actionscript-3 flash flash-builder

我正在创建一个按钮我使用beginBitmapFill方法向其添加图像。一切正常,问题是Loader()加载的图像大于实际的图像

创建按钮的类



package mode {
	import flash.display.Sprite;
	import org.osmf.net.StreamingURLResource;
	
	public class LoadButton extends Sprite 
	{
		public var Save;
		public function LoadButton(x:uint,save:String,url:String) 
		{
			var button:CustomSimpleButton = new CustomSimpleButton(url);
			button.x = x;
			Save = save;
			addChild(button);
		}
	}
}

import flash.display.*;
import flash.display.Bitmap;
import flash.display.DisplayObject;
import flash.display.Shape;
import flash.display.SimpleButton;
import flash.events.*;
import flash.events.EventDispatcher;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.geom.Matrix;

class CustomSimpleButton extends SimpleButton 
{
	private var upColor:uint   = 0xFFCC00;
	private var overColor:uint = 0xCCFF00;
	private var downColor:uint = 0x00CCFF;
	private var sizew:uint      = 100;
	private var sizeh:uint      = 88;
	
	public function CustomSimpleButton(url:String) 
	{
		downState      = new ButtonDisplayState(downColor, sizew,sizeh,url);
		overState      = new ButtonDisplayState(overColor, sizew,sizeh,url);
		upState        = new ButtonDisplayState(upColor, sizew,sizeh,url);
		hitTestState   = new ButtonDisplayState(upColor, sizew * 2,sizeh,url);
		hitTestState.x = -(sizew / 4);
		hitTestState.y = hitTestState.x;
		useHandCursor  = true;
	}
}

class ButtonDisplayState extends Shape 
{
	private var bgColor:uint;
	private var size:uint;
	private var sizeh:uint;
	
	public function ButtonDisplayState(bgColor:uint, sizew:uint,sizeh:uint,url:String) 
	{
		this.bgColor = bgColor;
		this.size    = sizew;
		this.sizeh = sizeh;
		draw(url);
	}
	
	private function draw(url:String):void 
	{
		var myLoader:Loader = new Loader(); 
		var image:Bitmap;
		var uri = new URLRequest(url);
		myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event)
		{
			image = new Bitmap(e.target.content.bitmapData);

			graphics.beginBitmapFill(image.bitmapData);
			graphics.drawRect(0, 0, 100, 88);
			graphics.endFill();
		});
		myLoader.load(uri);	
	}
}




图像是如何100x88

How the image is 100x88

因为它是

enter image description here

0 个答案:

没有答案