[英]Flash Actionscript 3.0 MovieClip Transitions (No Buttons)
[英]Flash: ActionScript 3.0 MovieClip Widths
请帮助我,我完全不知道AS3.0具有MovieClip宽度。
基本上,我正在编码一个菜单,如果屏幕上没有太多项目,则不使用滚动条,而是使用放大效果,从而允许用户使用鼠标在菜单上滚动。
目前,我的问题是调整MovieClips的宽度(它是一个水平菜单)(菜单上的每个图标都是MovieClip)。
如果宽度太小(不确定最小宽度),则影片剪辑不会显示。
但这不是完整的问题,如果我将影片剪辑的宽度设置为2.8,它仍然会以正确的宽度显示。
只有在for循环之后会重置适当的图标宽度,然后重新设置我的“ reposition()”方法,图标才会显示出来。
我显然只是不了解AS3中的MovieClips或Numbers的某些方面,希望有人可以提供帮助。
“黑色”包含电影剪辑列表(菜单图标)。
这是所有出错的代码(当“ iconWidth”非常小时出错):
//if there are icons to the left
if ((s-leftEffect) > 1){
//loop over all icons to the left
for (var lu:int = 0; lu <= s-leftEffect; lu++){
//set the icon's new width
black[lu].width = iconWidth;
}
}
//if there are icons to the right
if ((s+rightEffect) < numShowing){
//loop over all icons to the right
for (var ru:int = s+rightEffect; ru < numShowing; ru++){
//set the icon's new width
black[ru].width = iconWidth;
}
}
reposition();
}
function reposition(){
if (numShowing > 16){
//set the first menu icon to the left of its container
black[0].x = 0;
//for all icons in the menu
for (var i:int = 1; i<numShowing; i++){
//set position according to width
black[i].x = black[i-1].x + black[i-1].width;
}
}
}
因此,例如,如果iconWidth计算为2.8,则两个for循环将调整所有应调整为2.8的图标的大小。
然后重新放置每个图标的位置。
但是问题是,如果iconWidth太小,则无法重新定位。
但是,在重新定位时,如果我手动添加一行以设置当前宽度为50到2.8的图标,它仍然显示! 请帮助= [
如上面的注释中所述,使用代码示例很难说出任何具体信息,但是:
*恕我直言,将坐标和尺寸计算为int
而不是Number
是安全且方便的-永远不会看到半像素
*如果我是你,我将更改整个菜单的scaleX
和scaleY
属性(或图标的父级)(如果不合适),而不是与每个孩子搞混
另外,如果您添加更多代码(或可能在wonderfl.net上发布示例)-请通过评论此答案让我知道:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.