Actionscript 3 AS3类间测试?
我会尽我所能的解释,但是,真的很难解释。我是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
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);您可以使用此功能将新创建的敌人/子弹添加到列表中谢谢!我并没有完全做到这一点,但我使用了数组,效果很好!!