阿尔卡特和tcl:怎么用Flash实现鼠标控制帧的播放?

来源:百度文库 编辑:高校问答 时间:2024/05/05 11:54:28
怎么用Flash实现鼠标左右拖动,而控制舞台中 各帧的前进播放或后退播放?

请大家帮忙写下AS 代码...
问题补充:问题补充增加效果:
1.如果限定了电影场景的宽度,若要做到鼠标越往边上,播放的FPS越大...该怎么修改语句.
2.若播放完最后一帧,立即循环到第一帧继续播放,是不是加goto语句? 但又该怎么加呢?

在场景候选中,添加如下代码:
onClipEvent(enterFrame){
if(_root._xmouse<150){
this.gotoAndStop(1);
}else if(_root._xmouse>350){
this.gotoAndStop(2);
}else{
this.gotoAndStop(3);
}
}

stop();
var cnt = 0;
var cnt1 = 0;
_root.createEmptyMovieClip("mc", 0);
_root.createEmptyMovieClip("mc1", 1);
_root.mc.onEnterFrame = function() {
cnt = _xmouse;
};
_root.mc1.onEnterFrame = function() {
cnt1 = _xmouse;
if (_root.cnt1>_root.cnt) {
_root.gotoAndStop(nextFrame());
} else if (_root._currentframe>1 && _root.cnt1<_root.cnt) {
_root.gotoAndStop(prevFrame());
}
};
把这段代码加在第一帧中即可,切记是写在帧中,最好新建一层空层来放这个代码,运行后左右拖动鼠标就可以控制帧的前后播放了。
问题补充一:
stop();
var cnt = 0;
var cnt1 = 0;
_root.createEmptyMovieClip("mc", 0);
_root.createEmptyMovieClip("mc1", 1);
_root.mc.onEnterFrame = function() {
cnt = _xmouse;
};
_root.mc1.onEnterFrame = function() {
cnt1 = _xmouse;
if (_root.cnt1>_root.cnt) {
_root.gotoAndStop(_currentframe+Math.floor(((_root.cnt1)/100)));
} else if (_root._currentframe>1 && _root.cnt1<_root.cnt) {
_root.gotoAndStop(_currentframe-Math.floor(((640-_root.cnt1)/100)));
}
};
限定了电影场景的宽度,鼠标越往边上,播放的FPS越大
问题补充二:
stop();
var cnt = 0;
var cnt1 = 0;
_root.createEmptyMovieClip("mc", 0);
_root.createEmptyMovieClip("mc1", 1);
_root.mc.onEnterFrame = function() {
cnt = _xmouse;
};
_root.mc1.onEnterFrame = function() {
cnt1 = _xmouse;
if (_root.cnt1>_root.cnt) {
_root.gotoAndStop(_currentframe+Math.floor(((_root.cnt1)/100)));
} else if (_root._currentframe>1 && _root.cnt1<_root.cnt) {
_root.gotoAndStop(_currentframe-Math.floor(((640-_root.cnt1)/100)));
}
if (_root._currentframe == _root._totalframes) {
_root.gotoAndPlay(1);
}
};
播放完最后一帧,立即循环到第一帧继续播放;