- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FlashAS30教程PV3D程序结构
Flash AS3.0教程 PV3D程序结构
主要想说说AS3与AS2的不同之处,没有什么逻辑性,想到什么就写点什么,因此,它不适合AS高手们阅读。本文将力求用最直白的语言,尽量不用那些艰涩难懂的名词和术语。
一、在什么地方写代码
失望,以为要说点啥,原来是这么小儿科的问题。没办法,我说过了,本文不适合AS高手阅读的。为了更好地理解,我们还是用例子来说明。现在,就让我们一起来回顾一下,在AS2中我们都会把代码写在什么地方。我们在AS2中建一新文档,新建一个影片剪辑元件取名为bt,元件很简单,随便画一个方块就行,你说我偏要画一个园,那当然随你高兴罗,我没意见。然后,在场景中,用文字工具建一文本框,设为动态文本框,实例名称命名为:text1,将元件bt从库中拖到舞台上,实例名称命名为:bt_mc.现在写代码,想一想,代码写在什么地方,我们来做下面三个测试:
测试一:在帧动作中,直接写代码,点中第一层,第一帧,然后打开动作面板,在上面写到:
text1.text = 代码执行了“;
测试影片,OK,我们看到了”代码执行了“这几个字。
测试二:还在帧动作中写代码,将代码改为:
bt_mc.onPress = function() {
text1.text = 代码执行了“;
}
测试影片,当我们点击,元件bt_mc时,又看到了“代码执行了”几个字。
测试三:好象还可以把代码写到元件上,清除帧动作中的代码,点中bt_mc,打开动作面板,写下如下代码:
on(press){
_root.text1.text = 代码执行了“;
}
测试影片,点击bt_mc又看到了“代码执行了”几个字。
它怎么老是执行了呢,真是的。
下面我们在AS3中,作相同的测试:
测试一、在测试影片时,我们还是看到了那几个字,它都又执行了。
那AS3和AS2不是一样的?你还写个啥子劲?是哈,整了半天AS3和AS2整成一样的了。在“不到黄河心不死”的精神鼓舞下,我们还是把剩下的两个测试做完。
测试二、在测试影片时,哈哈,出错了,为我们出错喝彩吧(有病!),出错了,说明AS3与AS2还是不一样,那么本文就还可以写下去了。
测试三、当我们点中bt_mc,然后打开动作面板时,我们看到的是:
“无法将动作应用于当前所选内容”
真是过分,它连测试的机会都不给你。
好了,测试做完了,所谓实践出真知,通过测试,我们可以得出如下结论:
在AS2中,我们可以把代码写在帧动作中,也可以写在影片剪辑、按钮等元件上。
在AS3中,我们只能把代码写在帧动作中。(当然也可以写在.as等外部文件中,然后将它导入进来)。
[next]
二、AS3中的事件侦听
看到这里,聪明的你一定会说,在AS3中做上面的测试二时,代码是写在帧动作中的啊,为什么会出错呢?是啊,正因为有你的聪明,才使本文可以继续写下去啊。
在AS2中我们在让程序响应一个事件,比如鼠标单击,我们可以在帧动作中这样写:
事件对象.onPress = function() { 语句}
在AS3中,就不能这样写了,所以上面的测试二就出错了。
在AS3中,你必须先声明一个函数,其中包含你要执行的语句,然后用事件对象来侦听事件并调用这个函数,这将用到事件侦听语句:addEventListener
无论何时编写事件侦听器代码,该代码都会采用以下基本结构(以粗体显示的元素是占位符,您将针对具体情况对其进行填写):
function eventResponse(eventObject:EventType):void
(函数名称) (事件类型)
{
// 此处是为响应事件而执行的动作。
}
eventTarget.addEventListener(EventType.EVENT_NAME, eventResponse);
(事件对象) (事件类型.名称 函数名称)
我想还是用测试二,来说明好理解一些:
在AS3中,将测试二中帧动作代码改为:
function test( event:MouseEvent):void //先声明一个函数test,其中包含了要执行的代码。
{
text1.text = 代码执行了;
}
bt_mc.addEventListener(MouseEvent.CLICK,test) //然后,用bt_mc元件来侦听事件,并调用test
测试影片,哈哈,代码它终于执行了。
上述代码中的事件类型是:鼠标事件(MouseEvent),事件名称是:单击(CLICK)。
你又要说话了,“这不是更麻烦吗?”,是有点麻烦哈,不过据说是更规范,更利于代码维护,不过不管你愿不愿意,你要用AS3你就得这么写。
[next]
三、添加显示对象
这一节,来说说显示对象。显示对象?啥玩眼,你不是说
您可能关注的文档
最近下载
- 2022-2023学年广东省广州黄埔区五校联考物理八上期末质量跟踪监视试题含.pdf VIP
- 十六届山东省职业院校技能大赛(中职组)植物嫁接赛项试题黄瓜嫁接后管理试题(A卷).docx VIP
- 人教版七年级上册数学《有理数》单元测试卷(含答案).docx VIP
- DB22-T 3674-2024东部森林立地质量评价模型参数和数表应用技术规程.pdf VIP
- 工行笔试题目与答案.pdf VIP
- 第二类医疗器械经营备案企业质量管理制度、工作程序目录.pdf VIP
- 历年高考真题:语文阅读理解及答案.docx VIP
- 幼儿园区域活动环境的创新设计与材料选择策略.docx VIP
- 2025工行笔试必考经济知识点.doc VIP
- 湿疹临床 路径.doc VIP
文档评论(0)