合肥卓想动画工作室 承接全国+flash动画制作 + flash动画设计 + 各类flash动画制作设计


联系方式

动态事件处理程序与Flash MX

时间:2013-07-18 08:28来源:卓想动画http://www.zxgzs.com 作者:QQ:610929375 点击:


 首先我说处理程序时,我谈论onClipEvent...)(...)处理程序。只是把事情说清楚
现在动态事件处理程序真的是Flash MX中带来的,因为他们允许我们改变一个处理程序在运行时的最好的事情之一。你可能不知道这意味着什么。嗯,这很简单,真的。试想一下,你想要一个影片剪辑向右走,当它到达一定的位置,使其停止。够简单。随着Flash 5中,这将是这样的:
onClipEvent
enterFrame事件)
{
    
this._x <300this._x + = 5;
}
为什么我需要动态处理呢?有两个原因。
第一个原因是,当剪辑达到所需的位置,该处理程序继续检查该影片剪辑的位置。这可能不是太尴尬了,如果有只有一个片段,但如果有100个,你会看到其中的差别,特别是如果你做一些更复杂的事情。所以用Flash MX,你可以清空处理程序,或彻底删除它。
但为了做到这一点,你必须要考虑处理程序功能。声明它作为一个框架的行动,并且不再对象:
myClip.onEnterFrame =
功能()
{
    
this._x <300this._x + = 5;
    
否则删除this.onEnterFrame;
    / /
删除它,但你可以简单地把它倒空
    / /
,否则this.onEnterFrame = NULL;
}
这里,onEnterFrame宣布了访问myClip对象的一种方法。
第二个原因是,你可能想做些别的事情,一旦它的存在。比方说,您想要让您的剪辑上去。在Flash 5
onClipEvent
enterFrame事件)
{
    
this._x <300this._x + = 5;
    
其他
    {
        
this._y> 300this._y = 5;
    }
}
还是没有问题的。但是如果你想从那里往左走?你不能把其他的像我们以前那样,因为会有冲突与第一个ifthis._x 300)。你看这个问题?当然,这是可行的,但它是痛苦的。
现在不要惊慌,我在这里:)谢谢动态处理,我们要顺利处理这种情况。首先,我们要创建一些功能:
goRight =
功能()
{
    
this._x <300this._x + = 5;
    
,否则this.onEnterFrame =党团;
}
党团=功能()
{
    
this._y> 300this._y = 5;
    
,否则this.onEnterFrame =赋给goLeft;
}
赋给goLeft =功能()
{
    
this._x> 100this._x = 5;
    
,否则this.onEnterFrame = NULL;
}

/ /
我们分配goRight的函数来访问myClip
myClip.onEnterFrame = goRight;
第一个机能的执行goRight的,当短片是在右边,函数调用党团功能,等等...
你看这是如何更容易?当我们到达的位置,我们改变了的onEnterFrame处理,我们已经定义了一个函数,。与旧的处理程序没有冲突,因为它们不存在了。要注意的语法,但:




(责任编辑:卓想动画http://www.zxgzs.com)




上海 北京 深圳 广州 成都 杭州 重庆 武汉 苏州 合肥 亳州 天津 南京 沈阳 西安 青岛 大连 宁波 济南 哈尔滨 长春 厦门 郑州 长沙 福州 乌鲁木齐 昆明 兰州 无锡 南昌 贵阳 南宁 太原 石家庄 呼和浩特 佛山 东莞 唐山 烟台 泉州 包头 温州 淄博 海口 银川 西宁 南通 大庆 徐州 潍坊 常州 鄂尔多斯 绍兴 济宁 盐城 邯郸 临沂 洛阳 东营 扬州 台州 嘉兴 沧州 榆林 泰州 镇江 昆山 江阴 张家港 义乌 金华 保定 鞍山 泰安 宜昌 襄阳 中山 惠州 南阳 威海 德州 珠海 柳州 宿迁 芜湖 岳阳 菏泽 漳州 信阳 蚌埠 绵阳 株洲 邢台 桐城 桂林 衡阳 铜陵 三亚 阜阳 荆州 遵义 咸阳 驻马店 上饶 湛江 湘潭 汕头 莆田 滁州 廊坊 赣州 肇庆 九江 德阳 淮安 曲靖 湖州 揭阳 许昌 秦皇岛 江门 新乡 潮州 商丘 宁德 吉林 连云港 常德 宜春 黄冈

卓想动画 版权所有 flash作业- 网页设计作业
返回首页   |   电话咨询   |   微信咨询