应用思考-教育技术论坛

标题: 学习笔记之“动态添加对象到舞台” [打印本页]

作者: 清灯竹影    时间: 2014-5-10 19:25
标题: 学习笔记之“动态添加对象到舞台”
                                    动态添加对象到舞台


    为什么要用代码向舞台添加对象?直接拖不好么?刚开始学习的时候我也很纳闷这个问题,不过随着学习的深入才理解到这个方法的重要性。刚学习flash的朋友以后会体会到的,这里暂时不展开,仅仅就用添加对象到舞台来写下我的笔记。
    首先是动态添加的步骤,先按步骤做了,再来理解。
一、在舞台上,随便画个红色的矩形,把它转换为影片剪辑;
二、为这个红色矩形影片剪辑取个名字(这里不是指实例名),指的是库里这个影片剪辑的名。名字:ReadButton
    OK,然后右键点这个影片剪辑,选择“属性”。接着这样来设置:

作者: 清灯竹影    时间: 2014-5-10 19:37
接着上面写,然后点“确定”。这个时候会看到一个提示“无法在类路径中找到.....”这个提示其实是flash自动为你创建一个类,先暂时这么理解,直接点“确定”好了。
         3、在我们用代码创建这个矩形之前,请把舞台上的东西都清除掉,这样便于理解。
         4、在图层一,第一帧输入这样的代码:
             var readButton:RedButton=new RedButton();
             addChild(readButton);
             trace(readButton)
          5、测试影片,我们看到了什么?


     我们看到,矩形出现在舞台的左上角,一个注册点的重要问题,将导致你看的矩形在舞台内显示的面积会不同。这个以后我们会明白的。接着,我们看到输出面板输出的信息:[object ReanButton]  这就是我们看到的测试结果。
    如果觉得这代码有点乱,那么接下来我们缕一缕,呵呵!
     

作者: 清灯竹影    时间: 2014-5-10 19:54
        理解:
    在flash中,有一些规则定义了元件是如何被显示在屏幕上的,所有可以显示出来的元件都来自一个特殊的地方,我们叫它“显示队列”。有些教科书会用高深的调调来说显示队列,但是我觉得这样来理解很好,太深了会把自己搞乱,我们只是业余的。     显示队列中列出了你可以添加或者删除的对象,因为,你是用AS3.0来创建对象,所以这些对象在你没有把它们加入显示队列前是不会显示的。
     为什么需要显示队列?有的时候,你会需要创建对象并且还能对它进行修改,但是并不需要将对象显示出来给用户看见。这个对象也许是一个没有准备好使用的元件,或者是需要隐藏起来的东西,对象实际上是在那里的,只是别的人看不见而已。
    分析第一行代码:var readButton:RedButton=new RedButton();
    刚才,通过设置,我们实际上已经产生了一个RedButton的类,它很低调的存在着。现在,我们用“var”创建了一个redButton的变量,redButton这个变量的类型就是RedButton。接着是new,意思是等于一个新的RedButton   卖糕的,但愿我没解释错误。我想用一张图来表达这个让人有点蒙的意思。

作者: 清灯竹影    时间: 2014-5-10 20:11
这个图说明:


作者: 清灯竹影    时间: 2014-5-10 20:19
接着上面的理解


作者: 清灯竹影    时间: 2014-5-11 13:08
    当你成功的向舞台动态添加对象以后,可以按照自己的想法遵循一定的规则来改变对象的属性。
通常是readButton.x=?readButton.alpha=?......
    在这个过程里,我想我们应该注意这几点:
一、确保库中的对象已经命名,并且在属性对话框高级选项里勾选“为ActionScript导出:;
二、使用var语句创建一个对象来保存实例;
三、用addChild将对象加入显示队列,这样对象才能在舞台上显示出来;
四、使用单排注释或者多排注释来描述你的代码,帮助别人或者你自己更好的理解代码的意思。





欢迎光临 应用思考-教育技术论坛 (http://www.etthink.com/) Powered by Discuz! X3.4