2012-04-26 102 views
0

我想知道如何通过创建代码来进行拍摄时,会计算出剩下的项目数量?我在做一个射击场;没什么特别的。所以更详细地说,我有8个随机出现在屏幕上的怪物,我在另一侧有一个图形,它包含从8开始的计数器(怪物数量)。拍完一张后,柜台将从8降至7,6,5,4 ......等。针对射击游戏的计数器

我有一个主类,其中包含所有的代码放置在列表上的怪物,一个怪物类,这将只有动画和最后,另一个类的董事会(柜台)我不知道如何让柜台像我想要的那样工作。任何人认为他们可以帮忙?

此外,董事会有一个动态的文本字段,已经说在Flash中制作的“怪物的左边”,我需要倒计时。

是啊,对不起,这是我使用的代码:

private var _monsters:Array = []; 

for(var j:uint = 0; j < 8; j++) 
{ 
    var monster:Monster = new Monster(); 
    this.addChild(monster); 
    monster.x = 100 + j * 100; 
    monster.y = 475; 
    _monsters.push(monster); 
    monster.addEventListener(MouseEvent.CLICK, monsterDestroy); 
} 

上面的代码是在主类:下面是主板代码:

import flash.events.Event; 

public class Board extends ScoreDisplayBase 
{ 
    private var _monsters:Array = []; 

    public function Board() 
    { 
     super(); 
     this.addEventListener(Event.ENTER_FRAME, countDown); 
    } 

    private function countDown(event:Event):void 
    { 
     //store the monster we clicked on in a new array 
     var clickedMonster:monster = monster(event.currentTarget); 

     var index:uint = _monsters.indexOf(clickedMonster); 
    } 
+0

您是否将怪物创建为对象?如果您将它们列入数组中,则每次用户单击时都可以获取数组长度。如果一个怪物被射击并且(被删除)你将该阵列的大小减1,并且你有剩余的怪物数量。 – p0rter 2012-04-26 13:08:44

+0

是的,对不起,这里是我使用的代码:private var _monsters:Array = []; – Plextor3009 2012-04-26 13:13:18

+0

如果鼠标在“onclick”上的怪物上,你做了什么? – p0rter 2012-04-26 13:15:59

回答

0

啊OK你这样做...

你应该写一个onclick-eventlistener。每当一个怪物被点击时,你增加被点击的怪物的数量(并删除或移除该怪物),并比较点击的怪物的数量是否等于你在开始时发起的数组的大小。

+0

唉!我认为这会很容易:\t this.addEventListener(MouseEvent.CLICK,onClick); \t \t \t \t \t} \t \t \t \t私有函数的onClick(事件:MouseEvent)方法:无效 \t \t { \t \t \t this.board = monster.length \t \t} – Plextor3009 2012-04-26 13:54:46

0

或者,您可以将var alive:Boolean添加到您的怪物类,并检查您将遍历列表中的现场怪物的数量,并为每个真实值添加+1。这将更具可扩展性,因为如果您添加或删除了怪物,该数字将保持准确。

+0

我有我的一切工作起来直到柜台。我可以拍摄怪物,一切都有动画。编码柜台部分感觉很简单,但它并不是我想要的。由于计数器板上显示的文本是动态的,我是否将代码添加到onClick函数中? – Plextor3009 2012-04-26 14:06:05