Actionscript 3 Actionstipt3中掩码上的Tween代码不工作
我正在尝试制作手风琴风格的菜单。我可以让屏幕上下移动,但我无法让内容显示出来。我把每个屏幕都设置成一个电影剪辑,旁边有一个面具。我不能用“如果”来打开面具。有什么想法吗Actionscript 3 Actionstipt3中掩码上的Tween代码不工作,actionscript-3,Actionscript 3,我正在尝试制作手风琴风格的菜单。我可以让屏幕上下移动,但我无法让内容显示出来。我把每个屏幕都设置成一个电影剪辑,旁边有一个面具。我不能用“如果”来打开面具。有什么想法吗 import fl.transitions.Tween; import fl.transitions.easing.*; screen01.addEventListener(MouseEvent.CLICK, clickHandler); screen02.addEventListener(MouseEvent.C
import fl.transitions.Tween;
import fl.transitions.easing.*;
screen01.addEventListener(MouseEvent.CLICK, clickHandler);
screen02.addEventListener(MouseEvent.CLICK, clickHandler);
screen03.addEventListener(MouseEvent.CLICK, clickHandler);
screen04.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void
{
if(event.target == screen01)
{
if(screen01.Makeing_MC.height <=72)
{
var tweenMask0:Tween = new Tween(screen01.Makeing_MC, "y", Strong.easeOut, screen01.Makeing_MC.height, screen01.Makeing_MC.height + 250, 2, true);
}
var test0:Tween = new Tween(screen01, "y", None.easeNone, screen01.y, 182, 1, true);
var test1:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 539, 1, true);
var test2:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 625, 1, true);
var test3:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 710, 1, true);
}
else if(event.target == screen02)
{
var testa:Tween = new Tween(screen01, "y", None.easeNone, screen01.y, 182, 1, true);
//var maskmove1:Tween = new Tween(screen01.Makeing_MC, "height", Strong.easeOut, screen01.Makeing_MC.height, screen01.Makeing_MC.height - 250, 1, true);
var test5:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 265, 1, true);
var test6:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 625, 1, true);
var test7:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 710, 1, true);
}
else if(event.target == screen03)
{
var test8:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 265, 1, true);
var test9:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 347, 1, true);
var test10:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 710, 1, true);
}
else if(event.target == screen04)
{
var test11:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 265, 1, true);
var test12:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 347, 1, true);
var test13:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 431, 1, true);
}
}
导入fl.transitions.Tween;
导入fl.transitions.easing.*;
screen01.addEventListener(MouseEvent.CLICK,clickHandler);
screen02.addEventListener(MouseEvent.CLICK,clickHandler);
screen03.addEventListener(MouseEvent.CLICK,clickHandler);
screen04.addEventListener(MouseEvent.CLICK,clickHandler);
函数clickHandler(事件:MouseEvent):void
{
如果(event.target==screen01)
{
如果(screen01.Makeing_MC.height你的想法是正确的。看起来你除了调整电影剪辑的位置外,还尝试调整了蒙版的大小
假设你的舞台结构是这样的
0: MainTimeline
0: screen01 (MovieClip) // screen01.mask = Makeing_MC?
0: Makeing_MC (Shape) // <-- our mask?
1: txt (TextField)
1: screen02
0: Makeing_MC (Shape)
1: txt (TextField)
2: screen03
0: Makeing_MC (Shape)
1: txt (TextField)
3: screen04
0: Makeing_MC (Shape)
1: txt (TextField)
就像OP一样,你的吐温还没来得及完成就已经是GC了。以前没用过土生土长的吐温(我更喜欢格林斯托克)。我将更新一个更正。Atriace-我看到了一些Greensock的东西,看起来很棒,但我仍然是一名学生。我也更倾向于设计编码,所以在使用外部编码工具之前,我试图学习flash的基本知识。谢谢Atriace,我需要稍微改变一下大小,但这样效果更好我的代码。我在编码领域还是个新手,所以我知道我的代码有点凌乱和怪异。再次感谢你!再次感谢你在这方面的帮助。我不擅长解释我需要什么帮助,所以我想我会向你展示我需要代码的原因。再次感谢你!我很粗略,但还有很多事情没有完成PS:在你走之前说到这里……我建议使用一个遮罩,但我的意思是,整个菜单只需要一个遮罩。因为每个页面都可以通过遮罩区域看到,所以你可以将每个页面放在靠近底部的位置,这样只有一个小的可点击部分可以看到,当你点击它时,它会向上或向下变为“更多”“在遮罩区域内可见。将遮罩想象成一个查看窗口,然后您只需向上/向下滑动您希望完全看到的任何项目并将其滑开(提供手风琴菜单的效果)
import fl.transitions.Tween;
import fl.transitions.easing.*;
// We'll keep clip specific information (nice and tidy) in here.
var accordion:Array = [
{"clip":screen01, "height":357, "y":182},
{"clip":screen02, "height":360, "y":265},
{"clip":screen03, "height":363, "y":347},
{"clip":screen04, "height":360, "y":431}
]
// Loop through and register each clip with mouse events.
for each (var screen:Object in accordion) {
screen.clip.addEventListener(MouseEvent.CLICK, clickHandler);
}
function clickHandler(e:MouseEvent):void {
// This is the size of the open accordion.
// We'll add this to each consecutive clip's "y" property after the clicked one.
var offsetY:int = 0;
// Loop through the accordion array
for each (var screen:Object in accordion) {
// Set the position of the clip to the "y" value from the appropriate entry, adding our offset.
screen.tween = new Tween(screen.clip, "y", None.easeNone, screen.clip.y, screen.y + offsetY, 1, true);
// If this is the clip we clicked on...
if (screen.clip == e.target) {
offsetY = screen.height; // Add the opened accordion's height property to the offset
// and animate open the mask.
screen.maskTween = new Tween(screen.clip.Makeing_MC, "height", Strong.easeOut, screen.clip.Makeing_MC.height, screen.height, 1, true);
} else if (screen.clip.Makeing_MC.height != 15) {
// Otherwise, if its size is not 15, animate it to its "closed" position.
screen.maskTween = new Tween(screen.clip.Makeing_MC, "height", Strong.easeOut, screen.clip.Makeing_MC.height, 15, 1, true);
}
}
}