你好,我想使欧洲的闪光地图,当你鼠标或出每个国家的事情会发生,如改变这个国家的颜色。
看到该图片
如果我翻身挪威和瑞典随后,瑞典不会因为挪威的边框是瑞典的顶部设置为蓝色,所以我必须去低一点翻身瑞典,它不会与挪威instersect。
有没有更好的方式来实现相同的功能? 喜欢使用位图像素。
我在PNG格式的所有cointries的精灵表。 我嵌入此sprite片和比创建使用copyPixels的Sprite AS3类()以从子画面片INNET可变的BitmapData复制。
这里是我的课
public class Country extends Sprite
{
private var newBitmap:Bitmap;
private var tintColor:Color = new Color();
public function Country(bitmapData:BitmapData)
{
newBitmap = new Bitmap(bitmapData);
tintColor.setTint (0x0000ff, 0.6);
this.useHandCursor = true;
this.buttonMode = true;
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event):void
{
addChild(newBitmap);
addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
}
private function onMouseOver(e:MouseEvent = null):void
{
newBitmap.transform.colorTransform = tintColor;
}
private function onMouseOut(e:MouseEvent = null):void
{
newBitmap.transform.colorTransform = new ColorTransform();
}
}
位图数据是在使用运行时copyPixels()这样创建的
var countiresArray:Array = Resources.allCointriesJSON["frames"];
var newX:Number = countiresArray[i]["frame"]["x"];
var newY:Number = countiresArray[i]["frame"]["y"];
var newW:Number = countiresArray[i]["frame"]["w"];
var newH:Number = countiresArray[i]["frame"]["h"];
bitmapData .copyPixels(Resources.allCountries.bitmapData, new Rectangle(newX, newY, newW, newH), new Point(0, 0));
其中下一页末,NewY,东西方妇女网络和newH从导出JSON文件中取出正在使用TexturePacker时创建