zoukankan      html  css  js  c++  java
  • AS3之麦克风接口【flash.media.Microphone 类】

    package {
        import flash.display.Shape;
        import flash.display.Sprite;
        import flash.events.ActivityEvent;
        import flash.events.Event;
        import flash.media.Microphone;
        public class SoundGame extends Sprite
        {
            private var main:Sprite;
            private var mic:Microphone;
            
            private var minHigh:int = 0;
            private var intervalValue:int = 0;
            
            public function SoundGame()
            {
                init();
            }
            
            //初始化
            private function init():void{
                initMic();
                createSky();
                createLand();
                createMain();
            }
            
            //初始化麦克风
            private function initMic():void{
                mic = Microphone.getMicrophone();
                mic.setSilenceLevel(30,0);
                mic.setLoopBack();
                
                mic.addEventListener(ActivityEvent.ACTIVITY,micActivityHandle);
            }
            
            //创建操作
            private function createMain():void{
                var mainContainer:Sprite = new Sprite;
                main = new Sprite;
                main.graphics.beginFill(0xffffff);
                main.graphics.drawCircle(-2,-4,4);
                mainContainer.x = 100;
                mainContainer.y = 250;
                mainContainer.addChild(main);
                addChild(mainContainer);
                
                main.addEventListener(Event.ENTER_FRAME,frameHandle);
            }
            
            //创建天
            private function createSky():void{
                var shape:Shape = new Shape;
                shape.graphics.beginFill(0x6699cc,1);
                shape.graphics.drawRect(0,0,400,250);
                addChild(shape);
            }
            
            //创建陆地
            private function createLand():void{
                var shape:Shape = new Shape;
                shape.graphics.beginFill(0x002222,1);
                shape.graphics.drawRect(0,250,400,150);
                addChild(shape);
            }
            
            //麦克风活跃处理
            private function micActivityHandle(e:ActivityEvent):void{
                if(e.activating && intervalValue == 0){
                    intervalValue = mic.activityLevel / 5;
                }
            }
            
            //持续处理
            private function frameHandle(e:Event):void{
                if(intervalValue == 0) return;
                main.y -= intervalValue;
                intervalValue --;
                if(intervalValue == 0) intervalValue -= 1;
                
                //落地
                var min:int = - minHigh;
                if(min < main.y){
                    main.y = min;
                    intervalValue = 0;
                }
            }
        }
    }
    
    
    

  • 相关阅读:
    [模板] 多项式全家桶
    [模板] 最大流和费用流分别的两种做法
    [模板] Miller_Rabin和Pollard_Rho
    [模板] 半平面交
    hdu4624 Endless Spin (min-max容斥+dp)
    luogu5193 炸弹 (扫描线)
    luogu4055 游戏 (二分图博弈)
    [模板]后缀自动机
    [模板]fhqTreap
    loj2977 巧克力 (斯坦纳树+随机化)
  • 原文地址:https://www.cnblogs.com/sinsoul/p/1943258.html
Copyright © 2011-2022 走看看