如何制作地图旋转的控件?
本帖最后由 xuezigis 于 2012-04-16 20:07:51 编辑 [img=http://my.csdn.net/my/album/detail/1118630][/img]
图片显示不出来,给出图片地址:
http://my.csdn.net/my/album/detail/1118630
这个左下角有个控制地图旋转的控件,用flex如何实现呢,实现拖动N的白色箭头转动地图的效果,是不是要自己写个控件啊,各位大虾多帮帮忙啊,小弟多谢了!
[解决办法]
新人发帖,必须要支持一下了。不过要记得结贴哦。
从原理上这个很简单。自己写个组建也是必要的了。
我来提供一下思路吧:
1、sprite对象一个,包含图片及4个用来拖动的子对象。注意注册点应为对象中心。
2、跟随鼠标旋转,代码如下:
var thisx:Number = MC.x;
var thisy:Number = MC.y;
MC.rotation = Math.atan2(stage.mouseY-thisy,stage.mouseX-thisx)*180/Math.PI;
3、地图对象,应加载至一个容器中。比如sprite,此容器注册点为屏幕中心。为了使将来的旋转按屏幕中心为圆心。这点很重要。而地图移动时,移动的是容器中的对象,所以不影响旋转中心。
4、控制旋转组建时,操作地图容器,旋转角度与以上代码中一致。