Actionscript 3 AS3类间测试?

Actionscript 3 AS3类间测试?,actionscript-3,class,hittest,Actionscript 3,Class,Hittest,我会尽我所能的解释,但是,真的很难解释。我是AS3新手,所以如果你想帮助我,请帮助我直到我们解决它。请粘贴代码示例,而不仅仅是说我应该怎么做 嗯。 在主时间表上,我是这样说的 这里的计时器每秒添加敌人 var Enemy:MovieClip = new Enemy(); addChild(Enemy); Enemy.x = 200; Enemy.y = 200; 另一次,每0.5秒增加一次子弹 var Bullet:MovieClip = new Bullet(); addChild(Enem

我会尽我所能的解释,但是,真的很难解释。我是AS3新手,所以如果你想帮助我,请帮助我直到我们解决它。请粘贴代码示例,而不仅仅是说我应该怎么做

嗯。 在主时间表上,我是这样说的

这里的计时器每秒添加敌人

var Enemy:MovieClip = new Enemy();
addChild(Enemy);
Enemy.x = 200;
Enemy.y = 200;
另一次,每0.5秒增加一次子弹

var Bullet:MovieClip = new Bullet();
addChild(Enemy);
Bullet.x = 400;
Bullet.y = 400;
然后在敌方a和子弹a内部,我有代码说明它应该如何移动,速度等,但我如何在这两者之间进行命中测试?我试过在敌人或子弹类中这样做


所以我想问我如何能让两个类互相碰撞?还是类的对象

你需要记录那些敌人和子弹。不要做敌人:MovieClip=新敌人();而是这样做

var myEnemyList:Array = new Array();
var myBulletList:Array = new Array();


function Init():void{
    addEventListener(Event.OnEnterFrame, Update);
}

function Update(){
    //this will create a bullet and an enemy at every frame

    //Create a new enemy
    var enemy:Enemy = new Enemy();
    myEnemyList.push(enemy); //add enemy to the array

    //Create a new bullet
    var enemy:Bullet = new Bullet();
    myBulletlist.push(bullet);


    //Update the bullets
    for(var i:int=0; i < myBulletlist.length; i++){
        myBulletlist[i].Update(); //you must implement this function inside your class bullet
    }

    //Update the enemies
    for(var i:int=0; i < myEnemyList.length; i++){
        myEnemyListt[i].Update(); //you must implement this function inside your class enemy
    }

    CheckForCollision();
}


function CheckForCollision(){
    for(var i:int=0; i < myEnemyList.length; i++){
        for(var j:int =0; j < myBulletList.length; j++){
            if( myEnemyList[i].collidesWith(myBulletList[j]) ){
                //Collision
            }
        }
    }
}
var myEnemyList:Array=new Array();
var myBulletList:Array=new Array();
函数Init():void{
addEventListener(Event.OnEnterFrame,更新);
}
函数更新(){
//这将在每一帧产生一颗子弹和一个敌人
//制造新的敌人
var敌人:敌人=新敌人();
myEnemyList.push(敌人);//将敌人添加到阵列中
//创建一个新项目符号
var敌人:子弹=新子弹();
myBulletlist.push(bullet);
//更新子弹
对于(变量i:int=0;i

顺便说一句,不要试图编译它的伪代码。我会回答你的问题。关于这一点,到处都有很多教程,谷歌搜索可以帮助你获得更具体的代码。

Flixel(www.Flixel.org)是在Flash中开始游戏编程的好工具。有大量的教程,与从头开始相比,你可以很快地完成一个游戏。我强烈建议在你的第一个游戏中使用一个库/框架,你会学到很多东西,同时还能制作一些很酷的东西。嗨,谢谢你的评论。但是,我在主时间线上产生(创造)我的敌人和子弹。然后我有敌人和子弹,我在哪里写代码,他们应该如何移动,以及测试什么。?这是我的问题吗?我不知道如何使用类进行编码。但这实际上是我在比赛中必须做的最后一件事。我曾经考虑过一个解决方案,但我自己却做不到,那就是如果我在主时间线上产生子弹,并将它们放置在一个阵列中,然后放置在敌人身上。作为主时间线上该阵列的参考?抱歉英语不好,可能是非结构化的帖子。。。哈:)如果它们在主时间线上繁殖,你可以添加一个事件addEventListener(event.AddedStatage,AddToArray);您可以使用此功能将新创建的敌人/子弹添加到列表中谢谢!我并没有完全做到这一点,但我使用了数组,效果很好!!