+ -
当前位置:首页 → 问答吧 → 大虾帮忙,菜单AS1转AS2

大虾帮忙,菜单AS1转AS2

时间:2011-01-24

来源:互联网

网上找的一个AS1写的菜单,场景中有5个菜单元件,命名直接是1,2,3,4,5. 播放器是flashplayer6。我想改为AS2的。试了一下,没改好。大虾看看。

原来的代码是这样的:
复制内容到剪贴板
代码:
myURL = ["http://jungle.co.kr", "http://jungle.co.kr", "http://jungle.co.kr", "http://jungle.co.kr", "http://jungle.co.kr"];
frameName = ["_blank", "_blank", "_blank", "_blank", "_blank"];
numOfMenu = 5;
speed = 6;
def = 60;
max = 140;
min = 40;
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////
this[1].line._visible = 0;
for (i=1; i<=numOfMenu; i++) {
    this[i].bg.inner._yscale = def;
    this[i].mainText.gotoAndStop(i);
    this[i].onRollOver = function() {
        over = this._name;
    };
    this[i].onRollOut = this[i].onDragOut=function () {
        over = 0;
    };
    this[i].onRelease = function() {
        getURL(myURL[this._name-1], frameName[this._name-1]);
    };
}
this.onEnterFrame = function() {
    for (i=1; i<=numOfMenu; i++) {
        if (i>1) {
            this[i]._y = this[i-1]._y+this[i-1].bg.inner._yscale;
        }
        if (over == 0 || over == undefined) {
            this[i].bg.inner._yscale += (def-this[i].bg.inner._yscale)/speed;
            this[i].prevFrame();
        } else if (i == over) {
            this[i].nextFrame();
            this[i].bg.inner._yscale += (max-this[i].bg.inner._yscale)/speed;
        } else {
            this[i].bg.inner._yscale += (min-this[i].bg.inner._yscale)/speed;
            this[i].prevFrame();
        }
        this[i].mask._yscale = this[i].bg.inner._yscale;
    }
};

附件

AS1-AS2.rar (10.13 KB)

2011-1-24 15:57, 下载次数: 2

作者: 568041915   发布时间: 2011-01-24

不做任何修改即可

作者: flash023   发布时间: 2011-01-24

谢谢。我知道可以直接在发布设置里面设置为flashplay8,AS2。虽然不会报错,
我是想改变它元件的命名。
我这样改,不行。我把元件命名为m1,m2,m3,m4,m5
复制内容到剪贴板
代码:
var myURL:Array = ["http://jungle.co.kr", "http://jungle.co.kr", "http://jungle.co.kr", "http://jungle.co.kr", "http://jungle.co.kr"];
var frameName:Array = ["_blank", "_blank", "_blank", "_blank", "_blank"];
var numOfMenu = 5;
var speed = 6;
var def = 60;
var max = 140;
var min = 40;
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////
m1.line._visible = true;
for (i=1; i<=numOfMenu; i++) {
    var _btn=this["m"+i];
    trace(_btn);
    _btn.bg.inner._yscale = def;
    _btn.mainText.gotoAndStop(i);
    _btn.onRollOver = function() {
        over = this._name;
    };
    _btn.onRollOut = _btn.onDragOut=function () {
        over = 0;
    };
    _btn.onRelease = function() {
        getURL(myURL[this._name-1], frameName[this._name-1]);
    };
}
_btn.onEnterFrame = function() {
    for (i=1; i<=numOfMenu; i++) {
        
        if (i>1) {
            _btn._y = _btn[i-1]._y+_btn[i-1].bg.inner._yscale;
        }
        if (over == 0 || over == undefined) {
            _btn.bg.inner._yscale += (def-_btn.bg.inner._yscale)/speed;
            _btn.prevFrame();
        } else if (i == over) {
            _btn.nextFrame();
            _btn.bg.inner._yscale += (max-_btn.bg.inner._yscale)/speed;
        } else {
            _btn.bg.inner._yscale += (min-_btn.bg.inner._yscale)/speed;
            _btn.prevFrame();
        }
        _btn.mask._yscale = _btn.bg.inner._yscale;
    }
};
///////////////////////////////////////////////////////////////////////////////////////////////////////////
[ 本帖最后由 568041915 于 2011-1-24 16:21 编辑 ]

作者: 568041915   发布时间: 2011-01-24

 是的,代码被改错了,所以就不行了

读懂原来的代码就可以随心所欲地修改了.

作者: flash023   发布时间: 2011-01-24