论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: 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教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

flash不需修改注册点完成缩放与移动

文章类别:Flash | 发表日期:2009-4-27 7:46:28

发现Flash的mouse对象也可以添加事件,便用这些事件写了这个好玩且实用的程序实例。

运用这个实例的思路,我们可以轻易的实现剪辑的缩放和移动,而且不用改变剪辑的注册点。

在做缩放的时候,有一个问题,就是缩放的中心为剪辑的注册点,这使得我们本来是想放大或缩小我们的鼠标的位置,而最后得到的确实注册点放大或缩小后的位置。这个问题也难不倒我们。

在纸上糊乱画了一下,发现一个图形要想以某一点(a,b)为中心放大或缩小,就只需先将图片以(0,0)点缩放,然后再将图片向x轴方向移动-a*sc,向y轴方向移动-b*sc(其中sc缩放比列的增量)。

至于移动的话,就自己看看代码哦!将鼠标按下并移动,或者滚动滚轮试试看。^_^
Flash动画:


程序代码:

//剪辑名称为Movie_Clip
stop();
fscommand("allowscale",false);
var mc_menu:ContextMenu=new ContextMenu();
mc_menu.customItems.push(new ContextMenuItem("蓝光_BlueShine",GotoBlueShine));
this.menu=mc_menu;
function GotoBlueShine()
{
    getURL("http://www.blue-sun.cn","_blank");
};
var MouseListener:Object=new Object();

//缩放剪辑的代码
MouseListener.onMouseWheel=function(delta)
{
    with(Movie_Clip)
    {
        var omx=_xmouse,omy=_ymouse;
        _xscale+=delta;
        _yscale+=delta;
        _x-=omx*delta/100;
        _y-=omy*delta/100;
    }
};
//移动剪辑的代码
//这里要注册两个变量,用以存储鼠标的初始位置
var originMusX:Number ,OriginMusY:Number ;
//还定义一个判断鼠标是否按下的boolean变量
var MousePress:Boolean;
MouseListener.onMouseDown = function()
{
    MousePress=true;
    originMusX=_xmouse;
    originMusY=_ymouse;
}
MouseListener.onMouseUp = function()
{
    MousePress=false;
}
MouseListener.onMouseMove = function()
{
    trace(_xmouse);
    if(MousePress)
    {
        Movie_Clip._x+=_xmouse-OriginMusX;
        Movie_Clip._y+=_ymouse-OriginMusY;
        originMusX=_xmouse;
        originMusY=_ymouse;
    }
}

Mouse.addListener(MouseListener);
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058