Actionscript 3 如何在flash中更改我的主要播放器?

Actionscript 3 如何在flash中更改我的主要播放器?,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,我是新的脚本,我想做一个小的免费商店,我的游戏是关于一个运行的汽车,必须避免对象,所以在商店我想当用户按下选择主车,这是一个,成为他们选择的汽车,谢谢 //These variables will note which keys are down //We don't need the up or down key just yet //but we will later var leftKeyDown:Boolean = false; var upKeyPressed:Boolean = fa

我是新的脚本,我想做一个小的免费商店,我的游戏是关于一个运行的汽车,必须避免对象,所以在商店我想当用户按下选择主车,这是一个,成为他们选择的汽车,谢谢

//These variables will note which keys are down
//We don't need the up or down key just yet
//but we will later
var leftKeyDown:Boolean = false;
var upKeyPressed:Boolean = false;
var rightKeyDown:Boolean = false;
var downKeyDown:Boolean = false;
//the main character's speed
var mainSpeed:Number = 7;
//whether or not the main guy is jumping
var mainJumping:Boolean = false;
//how quickly should the jump start off
var jumpSpeedLimit:int = 20;
//the current speed of the jump;
var jumpSpeed:Number = 0;

//adding a listener to mcMain which will make it move 
//based on the key strokes that are down
player.addEventListener(Event.ENTER_FRAME, moveChar);
function moveChar(event:Event):void{
    //if certain keys are down then move the character
    if(leftKeyDown){
        player.x -= mainSpeed;
    }
    if(rightKeyDown){
        player.x += mainSpeed;
    }
    if(upPressed || mainJumping){
        mainJump();
     gotoAndStop(2)
      gotoAndStop(3)
       gotoAndStop(4)
        gotoAndStop(5)


    }
}

//listening for the keystrokes
//this listener will listen for down keystrokes
stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeysDown);
function checkKeysDown(event:KeyboardEvent):void{
    //making the booleans true based on the keycode
    //WASD Keys or arrow keys
    if(event.keyCode == 37 || event.keyCode == 65){
        leftKeyDown = true;
    }
    if(event.keyCode == 38 || event.keyCode == 87){
        upPressed = true;
        gotoAndStop(2)
    }
    if(event.keyCode == 39 || event.keyCode == 68){
        rightKeyDown = true;
    }
    if(event.keyCode == 40 || event.keyCode == 83){
        downKeyDown = true;
    }
}
//this listener will listen for keys being released
stage.addEventListener(KeyboardEvent.KEY_UP, checkKeysUp);
function checkKeysUp(event:KeyboardEvent):void{
    //making the booleans false based on the keycode
    if(event.keyCode == 37 || event.keyCode == 65){
        leftKeyDown = false;
    }
    if(event.keyCode == 38 || event.keyCode == 87){
        upPressed = false;
         gotoAndStop(2)
      gotoAndStop(3)
       gotoAndStop(4)
        gotoAndStop(5)

    }
    if(event.keyCode == 39 || event.keyCode == 68){
        rightKeyDown = false;
    }
    if(event.keyCode == 40 || event.keyCode == 83){
        downKeyDown = false;
    }
}

//jumping function
function mainJump():void{
    //if main isn't already jumping
    if(!mainJumping){
        //then start jumping
        mainJumping = true;
        jumpSpeed = jumpSpeedLimit*-1;
        player.y += jumpSpeed;
    } else {
        //then continue jumping if already in the air
        //crazy math that I won't explain
        if(jumpSpeed < 0){
            jumpSpeed *= 1 - jumpSpeedLimit/75;
            if(jumpSpeed > -jumpSpeedLimit/5){
                jumpSpeed *= -1;
            }
        }
        if(jumpSpeed > 0 && jumpSpeed <= jumpSpeedLimit){
            jumpSpeed *= 1 + jumpSpeedLimit/50;
        }
        player.y += jumpSpeed;
        //if main hits the floor, then stop jumping
        //of course, we'll change this once we create the level
        if(player.y >= stage.stageHeight - player.height){
            mainJumping = false;
            player.y = stage.stageHeight - player.height;
        }
    }
}
//这些变量将记录哪些键已关闭
//我们现在还不需要上下键
//但我们以后会的
var leftKeyDown:Boolean=false;
var upKeyPressed:Boolean=false;
var rightKeyDown:Boolean=false;
var downKeyDown:Boolean=false;
//主角的速度
var主速度:数字=7;
//不管主角是不是在跳
var:Boolean=false;
//跳转应该多快开始
var jumpSpeedLimit:int=20;
//跳跃的当前速度;
var跳线速度:数字=0;
//向mcMain添加一个监听器,这将使其移动
//基于向下的按键笔划
player.addEventListener(Event.ENTER_FRAME,moveChar);
函数moveChar(事件:事件):void{
//如果某些关键点向下,则移动角色
如果(leftKeyDown){
player.x-=mainSpeed;
}
如果(右键向下){
player.x+=mainSpeed;
}
如果(上压| |下压){
mainJump();
到达终点站(2)
到达终点站(3)
gotoAndStop(4)
gotoAndStop(5)
}
}
//听着键盘的敲击声
//此侦听器将侦听向下击键
stage.addEventListener(KeyboardEvent.KEY_DOWN,checkKeysDown);
函数CheckKeyDown(事件:KeyboardEvent):无效{
//基于键码实现布尔值
//WASD键或箭头键
if(event.keyCode==37 | | event.keyCode==65){
leftKeyDown=true;
}
if(event.keyCode==38 | | event.keyCode==87){
upPressed=true;
到达终点站(2)
}
if(event.keyCode==39 | | event.keyCode==68){
rightKeyDown=true;
}
if(event.keyCode==40 | | event.keyCode==83){
downKeyDown=true;
}
}
//此侦听器将侦听正在释放的键
stage.addEventListener(KeyboardEvent.KEY\u UP,checkKeysUp);
函数checkKeysUp(事件:KeyboardEvent):无效{
//基于keycode使布尔值为false
if(event.keyCode==37 | | event.keyCode==65){
leftKeyDown=false;
}
if(event.keyCode==38 | | event.keyCode==87){
upPressed=false;
到达终点站(2)
到达终点站(3)
gotoAndStop(4)
gotoAndStop(5)
}
if(event.keyCode==39 | | event.keyCode==68){
rightKeyDown=false;
}
if(event.keyCode==40 | | event.keyCode==83){
downKeyDown=false;
}
}
//跳跃函数
函数mainJump():void{
//如果main还没有跳转
如果(!main跳跃){
//然后开始跳
main=true;
jumpSpeed=jumpSpeedLimit*-1;
player.y+=跳跃速度;
}否则{
//如果已经在空中,继续跳跃
//疯狂的数学,我不会解释
如果(跳跃速度<0){
jumpSpeed*=1-jumpSpeedLimit/75;
如果(jumpSpeed>-jumpSpeedLimit/5){
跳跃速度*=-1;
}
}

如果(jumpSpeed>0&&jumpSpeed您将属性赋予
player
类型的类
MovieClip
,因为它是您游戏中用来表示汽车的电影剪辑,然后将其分配给所选汽车的一个实例。然后,只要您希望
播放器
转到
停止()
,您将其寻址到附加的实例。因此,该实例将表示可更改的图形,而包装器对象(
player
)负责处理、冲突和其他非图形内容

class Player extends Sprite {
    private var _car:MovieClip; // the instance
    public function Player() {
        _car=new MovieClip();
        addChild(_car);
    }
    public function get car():MovieClip { return _car; } // getter function
    public function set car(value:MovieClip):void {
        // setter function. We need to clean up our player from old car
        if (!value) return; // null car - no wai
        if (_car) removeChild(_car);
        _car=value;
        _car.x=0;
        _car.y=0; // place car at zero relative to player
        // this way you move the player, not the car, 
        // but MC playing is the car, not the player
        addChild(_car);
   }
   ...
}

请注意,您还可以将跳转处理重新定位到Player类中,这样您就可以调用
Player.jump()
,而不必关心实际值,播放器将必须存储跳转常量、速度、状态(在半空中或接触地面)等。

Vesper我可以联系您吗?