import com.velcyr.Init;

import flash.events.Event;
import flash.events.KeyboardEvent;

public class KongzhiGame extends Init
{

protected var _num:int = 0;

public function KongzhiGame()
{
super();
_num = 10;
}

public override function init(e:Event=null):void{
this.stage.frameRate = 5;
this.stage.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}

public function keyDownHandler(e:KeyboardEvent):void{
if(e.charCode >= 48 && e.charCode <=57){
_num = new int(String.fromCharCode(e.charCode));
trace("产生新值",_num);
this.stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
this.stage.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}

}

public function enterFrameHandler(e:Event):void{
if(_num == 0){
trace("等待产生新值");
this.stage.removeEventListener(Event.ENTER_FRAME,enterFrameHandler);
this.stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler);
}else{
trace("数数",_num--);
}
}
}
如何用KongzhiGame类中的_num传值给games中的game7方法,并代替game7方法的随机数rN.  public class Games 
{
protected const NUM:uint =  10;
public function Games()
{
this.game7();
}
/**存在海盗PK*/
public function game7():void{

var start:int = 0;
var end:int = 120;

var livePersion:Array = new Array();//当前活着的人。
var persions:Array = new Array();
for( var i:int=1; i<=30; i++){
var h:BFLForceHaidao = new BFLForceHaidao(i);
persions.push(h);
livePersion.push(h);
}
var rN:uint =  MathUitls.random(1,NUM);//数的数字
var num:uint = 0;
Label : while(persions.length>4){ 
var dels:Array = new Array();
for each(var haidao:BFLForceHaidao in persions){
//当前人是不是在死掉的人之列,.以为for循环结束才删除。
if( dels.indexOf(haidao) != -1){
continue;
}
//数数
num = num+1;
//时间加一秒
start += 1;
if(start > end){
trace("全部死掉");
break Label;
}
if(num == rN){
if(haidao.canThrow()){
if(haidao.throwCoin()){
trace(haidao,"数",num,"投硬币反面");
var si:BFLForceHaidao = this.pk2(haidao,livePersion);

start += 5;
if(start > end){
trace("全部死掉");
break Label;
}

dels.push(si);
/*以为到这个循环结束的时候才删除海盗。*/
livePersion.splice(livePersion.indexOf(si),1);
rN = MathUitls.random(1,NUM);
trace(si,"死掉,并随机产生新值:"+rN);
}else{
trace(haidao,"数",num,"投硬币免除");
}
}else{
trace(haidao,"数",num,"使用过投硬币机会");
var sid:BFLForceHaidao = this.pk2(haidao,livePersion);

start += 5;
if(start > end){
trace("全部死掉");
break Label;
}

dels.push(sid);
livePersion.splice(livePersion.indexOf(sid),1);
rN = MathUitls.random(1,NUM);
trace(sid,"死掉,并随机产生新值:"+rN);
}
num = 0;
}else{
trace(haidao,"数",num);
}
}
//让该跳海的人跳海,
for each( var del:HaiDao in dels ){
persions.splice(persions.indexOf(del),1);
}
}
trace(start);
trace(persions);
}
livePersion.splice(livePersion.indexOf(si),1);
rN = MathUitls.random(1,NUM);
trace(si,"死掉,并随机产生新值:"+rN);
}else{
trace(haidao,"数",num,"投硬币免除");
}
}else{
trace(haidao,"数",num,"使用过投硬币机会");
var sid:BFLForceHaidao = this.pk2(haidao,livePersion);

start += 5;
if(start > end){
trace("全部死掉");
break Label;
}

dels.push(sid);
livePersion.splice(livePersion.indexOf(sid),1);
rN = MathUitls.random(1,NUM);
trace(sid,"死掉,并随机产生新值:"+rN);
}
num = 0;
}else{
trace(haidao,"数",num);
}
}
//让该跳海的人跳海,
for each( var del:HaiDao in dels ){
persions.splice(persions.indexOf(del),1);
}
}
trace(start);
trace(persions);
}

解决方案 »

  1.   

    问题是这个:如何用KongzhiGame类中的_num传值给games中的game7方法,并代替game7方法的随机数rN.  
      

  2.   

    package{
    import flash.display.MovieClip;//导入影片剪辑类
    import flash.events.KeyboardEvent;//导入键盘事件类
    import flash.ui.Keyboard;
    import flash.events.Event;//导入事件类
    import flash.events.MouseEvent; //导入鼠标事件类 public class Main extends MovieClip{
    var mycar:Car=new Car();
    var zhang:Array=new Array(Barrier1,Barrier2,Barrier3,Barrier4,Barrier5,Barrier6,Barrier7); //创建障碍物影片剪辑对象数组,元素共有7个
    var barrierOnstage:Array=new Array(); //创建一个空数组用来保存在舞台中随机生成的障碍对象
    var speed:int;
    var hitcount:int;
    public function Main(){
    init();
    mycar.width=100;
    mycar.height=54;
    speed=0;
    hitcount=0;
    txt.text="撞到障碍物" + hitcount + "次。";
    addChild(mycar);
    zhang.width=200;
    zhang.height=50;
    zhang.x=stage.stageWidth/2;
    zhang.y=stage.stageHeight/2;
    addChild(zhang);
    stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
    stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);
    stage.addEventListener(Event.ENTER_FRAME,onEnterFrame);
    }
    //定义小车初始位置
    private function init(){
    mycar.x=416;
    mycar.y=82;
    mycar.rotation=0;
    }

    private function onKeyDown(event:KeyboardEvent):void{
    switch(event.keyCode){
    case Keyboard.LEFT:
         mycar.rotation-=5;
     break;
    case Keyboard.RIGHT:
         mycar.rotation+=5;
     break;
    case Keyboard.UP:
     speed+=1;
     break;
    case Keyboard.DOWN:
         speed-=1;
     break;
    default:
     break;
    }
    }

    private function onKeyUp(event:KeyboardEvent):void{
    switch(event.keyCode){
    case Keyboard.UP:
     speed=0;
     break;
    case Keyboard.DOWN:
         speed=0;
     break;
    default:
     break;
    }
    }
    // 处理Enter_Frame事件
    private function onEnterFrame(event:Event):void{
    if(Math.abs(speed)>5){
    speed=5;
    }
    if(speed<-3){
    speed=-3;
    }
    mycar.x+=Math.sin(mycar.rotation*Math.PI/180)*speed;
    mycar.y+=Math.cos(mycar.rotation*Math.PI/180)*(-speed);

    if(mycar.x+mycar.width/2>550 || mycar.x+mycar.height/2>550){
    mycar.x=stage.stageWidth-mycar.width/2;
    }
    else if(mycar.x-mycar.width/2<0 || mycar.x-mycar.height/2<0){
    mycar.x=mycar.width/2;
    }


    if(mycar.y+mycar.height/2>400 || mycar.y+mycar.width/2>400){
    mycar.y=stage.stageHeight-mycar.height/2;
    }
    else if(mycar.y-mycar.height/2<0 || mycar.y-mycar.width/2<0){
    mycar.y=mycar.height/2;
    }

    //碰撞检测
    if(mycar.hitTestObject(zhang)){
    init();
    hitcount++;
    txt.text="撞到障碍物" + hitcount + "次。";
    }

    if(hitcount>=5){
    stage.removeEventListener(Event.ENTER_FRAME,onEnterFrame);
    stage.removeEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
        stage.removeEventListener(KeyboardEvent.KEY_UP,onKeyUp);
    txt.text="车已撞毁,小心驾驶!"
    txt2.text="单击小车,重新游戏!"
    mycar.addEventListener(MouseEvent.CLICK,onCarClick);
    }
    }

    private function onCarClick(event:MouseEvent):void{
    hitcount=0;
    speed=0;
    txt2.text="";
    txt.text="撞到障碍物" + hitcount + "次。";
    stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
    stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);
    stage.addEventListener(Event.ENTER_FRAME,onEnterFrame);
    }

    }
    }求大神指导啊,菜鸟不知道该怎么改了,急求