0
我有一个带有实例名称为“mc”的影片剪辑的阶段。目前,我有一个代码可以左右移动播放器,当左键或右键释放时,“mc”会稍微滑动一点。我遇到的问题是让“mc”向左移动,但右侧使用的确切代码不会。ActionScript MovieClip移动到左侧,但不是右侧
所有这些代码是目前主要的舞台上 - 框架中的一个
//Variables
var mcSpeed:Number = 0;//MC's Current Speed
var mcJumping:Boolean = false;//if mc is Jumping
var mcFalling:Boolean = false;//if mc is Falling
var mcMoving:Boolean = false;//if mc is Moving
var mcSliding:Boolean = false;//if mc is sliding
var mcSlide:Number = 0;//Stored for use when creating slide
var mcMaxSlide:Number = 1.6;//Max Distance the object will slide.
//Player Move Function
p1Move = new Object();
p1Move = function (dir:String, maxSpeed:Number) {
if (dir == "left" && _root.mcSpeed<maxSpeed) {
_root.mcSpeed += .2;
_root.mc._x -= _root.mcSpeed;
} else if (dir == "right" && _root.mcSpeed<maxSpeed) {
_root.mcSpeed += .2;
_root.mc._x += _root.mcSpeed;
} else if (dir == "left" && speed>=maxSpeed) {
_root.mc._x -= _root.mcSpeed;
} else if (dir == "right" && _root.mcSpeed>=maxSpeed) {
_root.mc._x += _root.mcSpeed;
}
}
//onEnterFrame for MC
mc.onEnterFrame = function():Void {
if (Key.isDown(Key.LEFT)) {
if (_root.mcMoving == false && _root.mcSliding == false) {
_root.mcMoving = true;
} else if (_root.mcMoving == true && _root.mcSliding == false) {
_root.p1Move("left",5);
}
} else if (!Key.isDown(Key.LEFT)) {
if (_root.mcMoving == true && _root.mcSliding == false) {
_root.mcSliding = true;
} else if (_root.mcMoving == true && _root.mcSliding == true && _root.mcSlide<_root.mcMaxSlide) {
_root.mcSlide += .2;
this._x -= .2;
} else if (_root.mcMoving == true && _root.mcSliding == true && _root.mcSlide>=_root.mcMaxSlide) {
_root.mcMoving = false;
_root.mcSliding = false;
_root.mcSlide = 0;
_root.mcSpeed = 0;
}
} else if (Key.isDown(Key.RIGHT)) {
if (_root.mcMoving == false && _root.mcSliding == false) {
_root.mcMoving = true;
} else if (_root.mcMoving == true && _root.mcSliding == false) {
_root.p1Move("right",5);
}
} else if (!Key.isDown(Key.RIGHT)) {
if (_root.mcMoving == true && _root.mcSliding == false) {
_root.mcSliding = true;
} else if (_root.mcMoving == true && _root.mcSliding == true && _root.mcSlide<_root.mcMaxSpeed) {
_root.mcSlide += .2;
this._x += .2;
} else if (_root.mcMoving == true && _root.mcSliding == true && _root.mcSlide>=_root.mcMax) {
_root.mcMoving = false;
_root.mcSliding = false;
_root.mcSlide = 0;
_root.mcSpeed = 0;
}
}
};
我只是不明白为什么当你按下左箭头其作品完全没问题,但是当你按下右箭头它没有回应。这实际上是相同的代码。