打印

[编程] 请高手来解答下。拜托了!

免费内容:
function max(_mc, b) {
       _mc.onEnterFrame = function() {
              if (Key.isDown(Key.RIGHT)) {
                     this._x += b;
              }
              if (Key.isDown(Key.LEFT)) {
                     this._x -= b;
              }
       }
}
function shift() {
       i = 1;
       max(_root["_mc"+i], 3);
}
shift();
以上是我的代码。 我的问题是 想通过控制 i 的值来控制 舞台上的 MC1 或者是 MC2.
我手动的改 i=2 是有效果的(控制舞台上的MC2。MC1不动。)
问题是我想做个按钮。比如shift 来控制 i 的值 。
我自己写了几个没有成功 希望大家帮我解答下。
告诉我那里错了。或者我的思路有问题!

TOP

function max(_mc, b) {
       _mc.onEnterFrame = function() {
              if (Key.isDown(Key.RIGHT)) {
                     this._x += b;
              }
              if (Key.isDown(Key.LEFT)) {
                     this._x -= b;
              }
       };
}
for (var p:Number = 0; p<9; p++) {
       var _btn:MovieClip = _root["按钮实例名序列"+p];
       _btn.p = p;
       _btn.onRelease = function() {
              max(_root["_mc"+this.p], 3);
       };
}
http://www.flash023.cn 终极讨厌

TOP

不是这样的版主。
  你这个 按了 一个可以。 但是按下第二个的时候 第一个还是会跟这 第二个一起动。
我要的是按下后面的一个 前面按下的那个就 不能动了

TOP

复制内容到剪贴板
代码:
var now_mc:MovieClip = new MovieClip();
function max(_mc, b) {
    delete now_mc.onEnterFrame;
    _mc.onEnterFrame = function() {
        if (Key.isDown(Key.RIGHT)) {
            this._x += b;
        }
        if (Key.isDown(Key.LEFT)) {
            this._x -= b;
        }
    };
    now_mc = _mc;
}
for (var p:Number = 0; p<9; p++) {
    var _btn:MovieClip = _root["按钮实例名序列"+p];
    _btn.p = p;
    _btn.onRelease = function() {
        max(_root["_mc"+this.p], 3);
    };
}
http://www.flash023.cn 终极讨厌

TOP

哈哈 是的。
非常感谢!

TOP

可是我看不懂   

TOP