flash解构涂料中的应用IIX:用户层,层次清晰
时间:2012-12-18 14:14来源:卓想空间http://www.zxgzs.com 作者:QQ:610929375 点击: 次
我们已经制定了如何绘制完成在Flash的Oekaki /涂料中的应用的基础知识,但在哪里,图的完成呢? 应用程序被设置了一些更复杂的不是一个单一的画布上,相反,它有两个层次,你可以任一层上绘制,而不会影响上
面或下面。 我们要看一看在这些层如何设立。
我们需要做的第一件事是成立层的按钮。 我在我的应用程序的控制面板底部有两个按钮,一个标记为0,其他
标记为1,应用程序打开与0层积极和0层的按钮突出。 单击图层1按钮0层处于非活动状态,使第1层活跃,点
击第二次,而层1层1无效,0层积极。 同样的工作在反向为0层。
如何做到这一点? 而不是true / false值的变量,表示层活动的严格测试,而不是简单地添加到每个按钮下
面的代码:
on (release){ _root.layerzero=!_root.layerzero; _root.layerone=!_root.layerone; }
假设一层开始关闭和其他虚假的东西,我们将在下一步定义,此代码将总是使两个切换按钮被按下时,无论,
因为它是所有现有的值的每一个并将其转换到它的反面。
我只创建了两个层上我的,但你可以创建多达你想。
接下来,我们需要确保两件事情发生的那一刻起,影片加载两个独立的空影片剪辑createEmptyMovieClip ,
一个在0和1层,第1层上面创建的,并且这些值的变量的活性层需要被设置为true,层0(基材层)和假用于第
1层(顶层)。
这项工作应该在你的框架的行动,你的时间线的第一帧:
_root.createEmptyMovieClip("drawing", 0); _root.createEmptyMovieClip("layer", 1);
_root.layerone=false; _root.layerzero=true;
请记住,所有的工具,我们已经创建完成的图纸实际上是做了一个影片剪辑。 到目前为止,我们只使用“画
图”的影片剪辑,但现在我们已经添加了第二个最重要的是。
您不能创建这些影片剪辑Flash的舞台上的同一层上,将覆盖等。
到目前为止,所有我们的脚本的应用程序的各种工具已经包含在onClipEvent事件处理程序分配到一个遥控器
关闭影片剪辑阶段。 默认情况下,他们被设置到不管是什么工作。 但是现在,我们要确保,现有的控制工作
,利用“绘图”影片剪辑里面,如果第0层是积极的。
为此,我们通过增加一个if语句之前采取任何行动的onClipEvent处理程序,测试,看看真正的值的变量
layerzero的是。 如果不是的话,那么将没有图纸的地方,因为所有的绘图命令嵌套的if语句。
必须有一个独立的if语句在每个onClipEvent处理(负载,enterFrame事件,鼠标按下,鼠标移动,mouseup事
件)。
约1层,但怎么样? 我们可以这样做硬盘的方式,成立了一个else语句说,在所有其他情况下(换句话说,当
layerone =真实和layerzero的= FALSE),那么所有的绘图活动应采取地方上的影片剪辑命名为“层”,第1
层,上面层0的影片剪辑“绘图”。
就个人而言,我觉得这是一个有点乱来跟踪。 因此,为了使事情更加整洁,而不是我简单地复制所有的动作
脚本,并指派他们到第二个遥控器影片剪辑,改变了if语句来测试,而不是第0层1层,并改变影片剪辑的名称
从行动“绘制”到“层”。
这样一来,只要采取任何行动,不管活动的工具,闪光灯会进行检查,看是积极的层。 如果第0层是积极的,
所有的绘图“绘图”影片剪辑内发生,如果第1层是积极的,所有的绘图内发生的“层”的影片剪辑上面。
设置清除图层“按钮,删除当前活动/选定层的内容是很容易的。 只是测试层活动使用if语句,然后使用
clear()函数删除其内容:
on (release) { if (_root.layerzero==true){ _root.drawing.clear(); _root.isactive=null; } if
(_root.layerone==true){ _root.layer.clear(); _root.isactive=null; }
你会发现,我还设置了活动的工具为“空”,让一个层被清除后,没有任何绘画/制图工具选择。
(责任编辑:卓想空间http://www.zxgzs.com)
上一篇:flash动画的审美魅力是什么