AS2从动画片段切换到帧?

时间:2010-02-21 11:43:45

标签: flash actionscript-2 movieclip

我编写了一个小游戏,但现在我意识到我应该将所有动作都包含在一个名为“动作”的图层上。到目前为止,我已将我的代码写入movieclip。有关将此转换为框架的任何帮助吗?

onClipEvent (load) {
    yspeed = 0;
    lastx = 0;
    gravity = 0.2;
    speed = 5;
}

onClipEvent (enterFrame) {
    yspeed += gravity;

    if (_root.flake.hitTest(_root.cloud._x, _root.cloud._y, true)) {
        yspeed = -9;
    }

    _root.cloud._x += (_root._xmouse-lastx+10)/speed;
    lastx = _root.cloud._x;
    _root.cloud._y += yspeed;

    function asd() {
        this._x += 2;
    }

    _root.flake.duplicateMovieClip("flake1",1,{_x:50, _y:350});
    _root.flake1.onEnterFrame = asd;

}
希望你理解。所以没有onClipEvents,只是我编写所有动作的框架。

另外,我是初学者,所以任何建议都可以很好!

提前致谢, Martti Laine

1 个答案:

答案 0 :(得分:1)

我完全不明白你的问题。

你想在整个场景的第一帧或动画片段的第一帧中将de代码放在上面。

如果它在您场景的第一帧上,那么您的代码将同步:

    if(counter == undefined){
        yspeed = 0;
        lastx = 0;
        gravity = 0.2;
        speed = 5;
        counter = "def";
    }


    yspeed += gravity;

    if (_root.flake.hitTest(_root.cloud._x, _root.cloud._y, true)) {
        yspeed = -9;
    }

    _root.cloud._x += (_root._xmouse-lastx+10)/speed;
    lastx = _root.cloud._x;
    _root.cloud._y += yspeed;

    function asd() {
        this._x += 2;
    }

    _root.flake.duplicateMovieClip("flake1",1,{_x:50, _y:350});
    _root.flake1.onEnterFrame = asd;