
在按钮c那一帧添加如下代码(按钮c暂且命名为c)
caddEventListener(MouseEventMOUSE_DOWN,cHd);
function submitHd(e:MouseEvent)
{
gotoAndStop(488);
}
就是这样把按钮放到你想要的地方,右键单击,选择“动作”命令,在动作编辑栏里,输入以下代码:
on(press){
gotoAndplay(xxx); //xxx是你想要跳到的帧
}
这就可以了。
写了一个元件绑定类,绑定到影片剪辑上就具有拖动跳帧功能了
伪3D拖拽MC绑定类
@author 秋色烽火
/
class comset2getas2viewMcDragPlay extends MovieClip
{
private var _mouseX:Number = 0;
private var _mouseY:Number = 0;
private var _baseFrame:Number = 0;
/ 每帧对应的坐标差距 /
private var _dragLength:Number = 15;
/ 主场景引用 /
private var _Root:MovieClip;
/ debug输出控制 /
private var _isDebug:Boolean = false;
private var _debugText:TextField;
public function McDragPlay()
{
super();
init();
}
private function init():Void {
onPress = onDown_func;
onRelease = onReleaseOutside = onUp_func;
}
private function initDebug():Void {
_debugText = thiscreateTextField("tDebug", thisgetNextHighestDepth(), 0, 0, 1, 1);
_debugText_x = 30;
_debugText_y = 60;
_debugTextautoSize = "left";
}
private function onUp_func():Void
{
delete thisonMouseMove;
}
private function onDown_func():Void
{
_mouseX = int(_Root_xmouse);
_mouseY = int(_Root_ymouse);
_baseFrame = _currentframe;
onMouseMove = onMouseMove_func
}
private function onMouseMove_func():Void
{
var _diff:Number = _Root_xmouse - _mouseX; //计算坐标差
var _tFrame:Number = int(_diff / _dragLength); //计算偏移帧数 正或负
var _tEndFrame:Number = (_totalframes + ((_baseFrame + _tFrame) % _totalframes)) % _totalframes + 1;
//基准帧+偏移量+总帧数 取模总帧数,修正加1,就是目标帧数
thisgotoAndStop(_tEndFrame);
if (_isDebug) {
_debugTexttext = _tEndFrame + "";
}
}
/ debug set /
public function set isDebug(value:Boolean):Void
{
_isDebug = value;
if (value && !_debugText) initDebug();
}
/ 鼠标移动偏移量 对应移动帧快慢 默认值为15/
public function set dragLength(value:Number):Void
{
if (value < 1) return;
_dragLength = value;
}
public function set root(value:MovieClip):Void {
_Root = value;
}
}name="FH" onclick="windowhistorystep();"> 前进
name="FH" onclick="windowhistoryback();"> 后退你用的是as几? 2还是3?
我用3 我再研究下2的
你在影片剪辑m1里边,第25帧写一个stop();
然后把代码删掉一块,变成这样:
_rootaonRollOver = function(){
_rootm1gotoAndPlay(2);
}
_rootaonRollOut = function(){
_rootm1gotoAndPlay(26)
}
试试看,不行我再看看别的方法
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)