如何在as3中使用.visible属性?

时间:2015-11-26 21:34:59

标签: actionscript-3 flash

我只想让一些对象可见=“假”。但我不能。我可以使一些对象不可见,但它不适用于数组中的对象。这是我的代码。当得分= 3时,对象应该是不可见的。这是一场捕捉游戏。我使用Adobe Flash CC。

你帮我吗?

package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import flash.utils.Timer;
    import flash.utils.getDefinitionByName;

    public class CatchingGame extends MovieClip {
        var catcher:Catcher;
        var nextObject:Timer;
        var objects:Array = new Array();
        var score:int = 0;
        const speed:Number = 7.0;

        public function CatchingGame() {
            catcher = new Catcher();
            catcher.y = 350;
            addChild(catcher);
            setNextObject();
            addEventListener(Event.ENTER_FRAME, moveObjects);
        }

        public function setNextObject() {
            nextObject = new Timer(1000+Math.random()*1000,1);
            nextObject.addEventListener(TimerEvent.TIMER_COMPLETE,newObject);
            nextObject.start();
        }

        public function newObject(e:Event) {
            var goodObjects:Array = ["Circle1","Circle1","Circle1"];
            var badObjects:Array = ["Square1","Square2", "Circle2"];
            if (Math.random() < .5) {
                var r:int = Math.floor(Math.random()*goodObjects.length);
                var classRef:Class = getDefinitionByName(goodObjects[r]) as Class;
                var newObject:MovieClip = new classRef(); 
                newObject.typestr = "good";
            } else {
                r = Math.floor(Math.random()*badObjects.length);
                classRef = getDefinitionByName(badObjects[r]) as Class;
                newObject = new classRef(); 
                newObject.typestr = "bad";
            }
            newObject.x = Math.random()*500;
            addChild(newObject);
            objects.push(newObject);
            setNextObject();
        }

        public function moveObjects(e:Event) {
            for(var i:int=objects.length-1;i>=0;i--) {
                objects[i].y += speed;
                if (objects[i].y > 400) {
                    removeChild(objects[i]);
                    objects.splice(i,1);
                }
                if (objects[i].hitTestObject(catcher)) {
                    if (objects[i].typestr == "good") {
                        score += 1;

                    } 
                    if (score < 0) score = 0;
                    scoreDisplay.text = "Score:" +score;
                    removeChild(objects[i]);
                    objects.splice(i,1);
                }

            }
            for(var k:int=objects.length-1;k>=0;k--){
            if (score == 3){finished.text="Well Done!";
                catcher.visible=false;
                scoreDisplay.visible=false;

                objects[k].visible=false;   }           


                }

            catcher.x = mouseX;

        }
    }
}

1 个答案:

答案 0 :(得分:0)

Bildiğimkadarıylaşutukildeolmasılazım

this[diziismi(i)].visible = false;

buşekildedahaöncekiprojeleriminbirindekullandığımıveçalıştığınıhatırlıyorum