flash动态改变注册点
来源:互联网 发布:淘宝子账号没有二维码 编辑:程序博客网 时间:2024/05/22 14:45
这是一个动态改变注册点的类
package {//动态改变注册点类import flash.display.DisplayObject;import flash.geom.Point;//动态设置注册点public class DynamicRegistration {//需更改的注册点位置private var regpoint:Point;//更改注册的显示对象private var target:DisplayObject;private var Height:Number;private var Width:Number;//首先要确定初始状态public function DynamicRegistration(target:DisplayObject,regpoint:Point,iWidth:Number=320,iHeight:Number=240) {Width=iWidth;Height=iHeight;this.target=target;this.regpoint=regpoint;}//设置显示对象的属性public function flush(prop:String,value:Number):void {var mc=this.target;//转换为全局坐标var A:Point=mc.parent.globalToLocal(mc.localToGlobal(regpoint));if (prop=="x"||prop=="y") {mc[prop]=value-regpoint[prop];} else if (prop=="scaleX" || prop=="scaleY") {if (mc[prop]>value) {//放大过程mc.x+=((Width*(value+0.1))-(Width*value))/4;mc.y+=((Height*(value+0.1))-(Height*value))/4;} else {//缩小过程mc.x-=((Width*value)-(Width*(value-0.1)))/4;mc.y-=((Height*value)-(Height*(value-0.1)))/4;}mc[prop]=value;} else {mc[prop]=value;//执行旋转等属性后,再重新计算全局坐标var B:Point=mc.parent.globalToLocal(mc.localToGlobal(regpoint));//把注册点从B点移到A点mc.x+=A.x-B.x;mc.y+=A.y-B.y;}}}}
用法如下:
在舞台上放个mc、btn、btn2
package{import flash.display.*;import flash.events.*;import flash.geom.*;import flash.system.fscommand;public class Test extends MovieClip{private var reg:DynamicRegistration;private var speed:Number=1;public function Test(){reg=new DynamicRegistration(mc,new Point(mc.width/2,mc.height/2),mc.width,mc.height);btn.addEventListener(MouseEvent.CLICK,clickHandler);btn2.addEventListener(MouseEvent.CLICK,lessenHandler);}private function clickHandler(e:MouseEvent):void{//mc.scaleX+=0.2;//mc.scaleY+=0.2;speed+=0.2; reg.flush("scaleX",speed); reg.flush("scaleY",speed);}private function lessenHandler(e:MouseEvent):void{speed-=0.2; reg.flush("scaleX",speed); reg.flush("scaleY",speed);//mc.scaleX-=0.2;//mc.scaleY-=0.2;}}}
- flash动态改变注册点
- flash动态改变注册点
- as3改变元件注册点
- as3 动态修改注册点
- Flash中的注册点和中心点
- flash的中心点和注册点
- Flash-如何改变动态文本透明度?
- 注册客户端脚本动态加载Flash幻灯
- ios-动态改变高度的注意点
- FLASH中注册点与中心点的区别
- 如何使用Matrix类来改变注册点
- 转载: 《Flash:DisplayObject的矩阵旋转(移动/修改注册点,修改旋转点)》
- AS3.0 设置sprite的锚点,不改变注册点的的函数
- 注册动态链接库(dll文件),提示找不到入口点
- AS3.0中Matrix类的学习经验(改变注册点、旋转图像)
- highchart动态添加点,并改变点的颜色为红色
- 改变flash builder 字体
- Flash注册模块
- C#获取AD用户信息
- 经典SQL自定义函数
- 解决android emulator-5554 disconnected的问题的方法
- 发现一个go语言window开发平台gomingw【心情好,散点分】
- .NET简谈设计模式之(命令模式)
- flash动态改变注册点
- 处理XML中的控制符
- 强类型ASP.NET数据绑定
- symbian 手机上常见的 panic 和 常见的错误
- 请把本段代码拷贝到您的CSS文件中,让你的网站变成灰色以纪念逝去的人们。
- Android:屏幕的锁定和取消锁定
- Ext.Ajax.request与form.getForm().submit的区别
- Android中动态添加控件需要注意的事情
- 给图片加上倒影