Flash:ActionScript 3.0电影剪辑宽度
请帮帮我,我完全沉浸在AS3.0的电影唇宽中 基本上,我是在编写一个菜单,如果屏幕上有太多的项目,它没有滚动条,而是使用放大效果,允许用户使用鼠标在菜单上滚动 目前我的问题是调整MovieClip(菜单上的每个图标都是MovieClip)的宽度(这是一个水平菜单) 如果宽度太小(不确定可以达到的最低宽度),则电影剪辑不会显示 但这并不是全部问题,如果我将电影剪辑的宽度设置为2.8,它仍然会显示,并且具有正确的宽度 只有在for循环重置适当的图标宽度之后,然后使用我的“reposition()”方法,图标才不会显示 很明显,我只是不理解AS3中电影嘴唇或数字的某些方面,希望有人能帮上忙 “黑色”包含电影嘴唇列表(菜单图标) 下面是所有出错的代码(当“iconWidth”非常小时出错):Flash:ActionScript 3.0电影剪辑宽度,flash,actionscript-3,width,movieclip,fisheye,Flash,Actionscript 3,Width,Movieclip,Fisheye,请帮帮我,我完全沉浸在AS3.0的电影唇宽中 基本上,我是在编写一个菜单,如果屏幕上有太多的项目,它没有滚动条,而是使用放大效果,允许用户使用鼠标在菜单上滚动 目前我的问题是调整MovieClip(菜单上的每个图标都是MovieClip)的宽度(这是一个水平菜单) 如果宽度太小(不确定可以达到的最低宽度),则电影剪辑不会显示 但这并不是全部问题,如果我将电影剪辑的宽度设置为2.8,它仍然会显示,并且具有正确的宽度 只有在for循环重置适当的图标宽度之后,然后使用我的“reposition()”方
//如果左侧有图标
如果((s-leftEffect)>1){
//在左侧的所有图标上循环
for(变量lu:int=0;lu 16){
//将第一个菜单图标设置到其容器的左侧
黑色[0].x=0;
//对于菜单中的所有图标
对于(var i:int=1;i,如上面的注释所述,使用您的代码示例很难说出任何具体的信息,但是:
*我认为以int
,而不是Number
,计算坐标和大小是安全和方便的-半像素是永远看不到的
*如果我是你,我会改变整个菜单(或图标的父菜单)的scaleX
和scaleY
属性,如果它不合适,而不是和每个孩子乱搞
,如果你添加了更多的代码(或者可能在wonderfl.net上发布一个示例)-请通过评论这个答案让我知道:)我不知道,但我会使用调试器逐步检查代码,并在更改值时查看所有值。很遗憾,我已经有了:(我已经看了宽度,它们都是应该的:除了iconWidth应该是2.809…但它将宽度设置为2.8…但之后宽度肯定设置为2.8,x和y位置很好,我只是不知道。嗨,tre,你能提供一段功能代码吗?我是说一个我们可以编译的示例,看看你的意思:)感谢使用像s、lu和ru这样的变量名,很难判断您想要做什么。您能稍微整理一下代码吗?
//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;
}
}
}