Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何制作《愤怒的小鸟》评分类型;三星级;一闪而过?_Actionscript 3_Flash_Actionscript_Adobe - Fatal编程技术网

Actionscript 3 如何制作《愤怒的小鸟》评分类型;三星级;一闪而过?

Actionscript 3 如何制作《愤怒的小鸟》评分类型;三星级;一闪而过?,actionscript-3,flash,actionscript,adobe,Actionscript 3,Flash,Actionscript,Adobe,我想做一个评分系统,显示明星的基础上,像愤怒的小鸟点 如果你得到:3分=3颗星,1-2分=2颗星,0=1颗星 星星将是一个图像。 回答所有三个问题后,分数将保存。这些点将以上面类似星星的形式出现。我非常需要这个。 为一颗“亮”星创建一个图像,为一颗“暗”星创建一个图像 将它们的实例放在舞台上,“亮”的星星与“暗”的星星重叠,但最初是隐藏的 保留一个数组,其中引用“lit”实例图像,并显示一个与分数成比例的数字 以下是更一般的解决方案: public class StarsScoring ext

我想做一个评分系统,显示明星的基础上,像愤怒的小鸟点

如果你得到:3分=3颗星,1-2分=2颗星,0=1颗星

星星将是一个图像。 回答所有三个问题后,分数将保存。这些点将以上面类似星星的形式出现。我非常需要这个。

  • 为一颗“亮”星创建一个图像,为一颗“暗”星创建一个图像
  • 将它们的实例放在舞台上,“亮”的星星与“暗”的星星重叠,但最初是隐藏的
  • 保留一个数组,其中引用“lit”实例图像,并显示一个与分数成比例的数字
以下是更一般的解决方案:

public class StarsScoring extends Sprite {

    [Embed(source = "path/To/DimImage.jpg")]
    private var _dimStar: Class;

    [Embed(source = "path/To/LitImage.jpg")]
    private var _litStar: Class;

    private const GAP: uint = 10;
    private const GROUP_X: uint = 25;
    private const GROUP_Y: uint = 25;

    private var _litStars: Array = [];
    private var _numStars: uint;

    private function _buildScoringUI(): void {
        var litStar: Bitmap, dimStar: Bitmap, hOffset: Number = GROUP_X;
        for (var i: int = 0; i < _numStars; i++) {
            litStar = (new _litStar()) as Bitmap;
            dimStar = (new _dimStar()) as Bitmap;

            litStar.x = dimStar.x = hOffset;
            litStar.y = dimStar.y = GROUP_Y;
            litStar.visible = false;
            addChild(_dimStar);
            addChild(_litStar);

            _litStars.push(litStar);

            hOffset += (litStar.bitmapData.width + GAP);
        }
    }

    public function StarsScoring(numStars: uint = 3): void {
        _numStars = numStars;
        _buildScoringUI();
    }

    public function updateScore(score: uint, total: uint): void {
        var percent: Number = (score / total);
        var threshold: uint = Math.round(percent * _litStars.length);
        for (var i: int = 0; i < _litStars.length; i++) {
            var litStar: Bitmap = (_litStars[i] as Bitmap);
            litStar.visible = (i <= threshold);
        }
    }
}

从未测试/编译过这段代码(我有机会的时候可以),但即使如此,它也应该为您指明正确的方向。

这非常。。。。模糊的我们需要更多的信息。从以下问题开始:分数是如何计算的?每个问题都得一分吗?你打算如何点亮每颗星星?明星们是电影嘴唇还是影像?
var stars : StarsScoring = new StarsScoring (3);
addChild (stars);
stars.updateScore (1,3); // Will "lit" first star image