如何在泡泡射击游戏中找到相同颜色的气泡 - 在flash as3中

时间:2013-12-26 06:15:58

标签: actionscript-3 flash

我想创建像泡泡传奇一样的泡泡射击游戏..但是我无法看到任何教程或文档在线完成游戏..很多教程只适用于放置气泡..但我想知道搜索方法丢弃相同颜色的气泡,如果有任何气泡,它也想要被移除..

我尝试完成只放置气泡..

    private function placeBubbles():void
    {
        var bubble:Bubble; // bubble movieclip load from library

        for(var i:uint = 0; i < _columns; i++)
        {
            for(var j:uint = 0; j < _rows; j++)
            {
                bubble = new Bubble();
                bubble.x = _startX + (_hexWidth * i + ( j % 2) * _hexWidth/2);
                bubble.y = _startY + (_hexHeight * j / 4 * 3);
                bubble.mouseChildren = false;
                bubble.name =String(i + j * _columns);
                bubble.txt.text = bubble.name;
                bubble.gotoAndStop(Math.ceil(Math.random()*bubble.totalFrames - 3))
                _container.addChild(bubble);
            }
        }
    } 

如果有人提供代码或教程,会感到很有帮助..谢谢

1 个答案:

答案 0 :(得分:0)

您可以在泡泡本身存储指定的属性。比如说,你可以命名一个属性color,为它设计一个含义(索引,最有可能,并且如果你使用gotoAndStop()作为某种颜色,你最好将它映射到当前的框架MC),并查询该属性。一个例子:

... // your code for bubble creation
bubble.color=Math.ceil(Math.random()*bubble.totalFrames - 3);
bubble.gotoAndStop(bubble.color);

然后您查询目标气泡的color属性以查找附近气泡中的匹配项。

关于搜索附近的气泡 - 使用网格(二维数组),在放置时用气泡填充它,并查询相邻元素以匹配颜色和占用(如果为空,此位置没有气泡,所以不要不查询颜色。