频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发工具应用教程 -> Flash教程 -> 通过实例学习AS3.0

通过实例学习AS3.0

作者:lzyy  来源:蓝色理想  发布时间:2007-11-20 7:41:00  发布人:圈圈

减小字体 增大字体

首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。

 

水平有限,错误难免,欢迎大虾小虾,大鸟小鸟指正。

下面进入正题:


案例1:熟悉新的事件机制和addChild的运用

说明:拖动小人到滑板上,然后拖动滑板,可以发现小人已经跟滑板粘在了一起。
演示:http://www.live-my-life-with-yuyi.com/as3_cases/changing_parents/

代码:

boarder_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
boarder_mc.addEventListener(MouseEvent.MOUSE_UP, drop);
red_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
red_mc.addEventListener(MouseEvent.MOUSE_UP, drop);
blue_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
blue_mc.addEventListener(MouseEvent.MOUSE_UP, drop);
 

AS3采用了新的监听机制,而且注意到对每个mc的鼠标按下弹起都使用了相同的函数,这就需要在函数里判断事件的发生者,从而做出相应的处理。

function drag(event:MouseEvent):void
{
    if(event.target.name == "boarder_mc")
    {
        addChild(boarder_mc);
        event.target.startDrag(true);
        boarder_mc.x = mouseX;
        boarder_mc.y = mouseY;
    }
    else
    {
    event.target.startDrag();
    }
}
 

通过event.target.name来取得事件发生的对象名,AS3里没有了root,addChild相当于把某个mc搬到了舞台上,其实是TimeLine0.addChild(mc),同时保证该mc是在舞台的最顶层(AS3里没有了深度管理)。
通过event.target来获取事件发生的对象


接着来看drop函数

function drop(event:MouseEvent):void
{
    event.target.stopDrag();
    if(boarder_mc.hitTestObject(red_mc))
    {
        red_mc.addChild(boarder_mc);
        boarder_mc.x = 0;
        boarder_mc.y = 0;
    }
    else if(boarder_mc.hitTestObject(blue_mc))
    {
        blue_mc.addChild(boarder_mc);
        boarder_mc.x = 0;
        boarder_mc.y = 0;
    }
}
 


当鼠标弹起时,啥也不管,先停止拖动,如果小人和滑板有重合区域,则将小人放到滑板里,滑板就像一个container,boarder_mc成了red_mc的child,将boarder_mc的x坐标和y坐标清零是为了将小人放到滑板的正确位置。


如果小人已经成为了滑板的child,那么再次拖动滑板时,由于又执行了一次addChild(boarder_mc);所以滑板的父类又变成了舞台。

整个案例1的分析到此结束,涉及的知识点不多,主要是熟悉一下AS3的语法

 


将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
下一篇文章:JS扩展Photoshop新功能
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 一个颇有用途的ISAPIFIL..
· 用 onerror 获取错误信息..
· 七家网站涉嫌行骗 联想数..
· 架构Web Service: 交互界..
· 亚洲超越北美 成为全球最..
· Flash视觉特效:科技之光..
· popup的两种方法
· 用ASP统计用户在站点的停..
· 8GB/网络储存空间/young..
· Flash MX 编程深层次应用..
· ASP + Serv-u 实现FTP的..
· 稳定的免费域名转向
· 百度指Google兵败图书搜..
· 在 PHP 中使用随机数的三..
· 做网站的加减乘除法
· 中国首个博客自律公约将..
相关文章
· 通过实例学习ASP的对象复制..
· 小结:通过实例学习CSS进行..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号