论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

FLASH如何动态"修改"注册点

文章类别:Flash AS编程 | 发表日期:2008-10-6 18:08:40


经常有朋友问..如何动态修改一个显示对象的注册点..
而一般的朋友需要修改注册点,基本上都是旋转的需要..

今天来讨论一下这个问题..

首先..我们先理解一下..注册点是一个什么样的概念..

我们先用三种情况来对比一下..
下图是三个MC注册点分别是..左上/居中/右下的三种情况..MC里画着一个100px*100px的正方形..




从上图中我们可以看到..所谓的注册点都是相对的..
一个显示对象的注册点,其实就是他的子对象的相应位置
左上:子对象相对位置为0,0
居中:子对象相对位置为-width/2,-height/2
右下:子对象相对位置为-width,-height
其它位置如此类推..

按这种情况..我们看下以下的swf,点击swf任意的地方.会按左上/居中/右下循环切换..



这就是修改注册点的最基本的方法..

相应的..像Bitmap这类显示对象..或像组件这些比较不容易操作子对象的,一般采取的方法就是给他添加一个父对象,然后通过上面的方法来处理..
这种方法的缺点就是增加了无用的容器..复杂化了结构..

那么我们从另一个角度出发..
以不同的注册点旋转..就是以不同的中心点旋转..
我们只要模拟一个中心点..然后计算出对象以该点旋转后相应的x,y的值,就可以达到我们需要的效果..

看看下面的例子..swf上按住左键..调旋转中心的位置..按start开始旋转..按stop停止..




像这样..无论是任意的显示对象..我们都可以指定任意坐标为"注册点",来进行旋转..
不需要像第一种方法..需要改成子对象的位置或添加一个父对象..

下面是源码...
代码写得很乱..角度算了很久...把初中的sin/cos全忘了...
迟点再改成一个类直接调..今天就先到这里..

点击下载
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058