zoukankan      html  css  js  c++  java
  • 重力感应示例

    package 
    {
    import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
        import flash.events.Event;
        import flash.events.AccelerometerEvent;
        import flash.sensors.Accelerometer;
     public class AccelerometerTest extends Sprite
        {
            private var ball:Sprite;
            private var accelerometer:Accelerometer;        
            private var xSpeed:Number = 0;
            private var ySpeed:Number = 0;
            private const RADIUS = 20;
            
            public final function AccelerometerTest()
            {
                stage.scaleMode = StageScaleMode.NO_SCALE;
                stage.align = StageAlign.TOP_LEFT;
                
                createBall();
                                        
                if (Accelerometer.isSupported)
                {
                    accelerometer = new Accelerometer();
                    accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
                    stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
                }
            }
     private final function createBall():void
            {
                 ball = new Sprite();
                 ball.graphics.beginFill(0xFF0000);
                 ball.graphics.drawCircle(0, 0, RADIUS);
                 ball.cacheAsBitmap = true;
                 ball.x = stage.stageWidth / 2;
                 ball.y = stage.stageHeight / 2;
                 addChild(ball);
            }
    
            private final function enterFrameHandler(event:Event):void
            {
                event.stopPropagation();
                moveBall();
            }
            private final function moveBall():void
            {
                var newX:Number = ball.x + xSpeed;
                var newY:Number = ball.y + ySpeed;
                if (newX < 20)
                {
                    ball.x = RADIUS;
                    xSpeed = 0;
                }
                else if (newX > stage.stageWidth - RADIUS)
                {
                    ball.x = stage.stageWidth - RADIUS;
                    xSpeed = 0;
                }
                else
                {
                    ball.x += xSpeed;
                }
                
                if (newY < RADIUS)
                {
                    ball.y = RADIUS;
                    ySpeed = 0;
                }
                else if (newY > stage.stageHeight - RADIUS)
                {
                    ball.y = stage.stageHeight - RADIUS;
                    ySpeed = 0;
                }
                else
                {
                    ball.y += ySpeed;
                }
            }
    

     

      private final function accUpdateHandler(event:AccelerometerEvent):void
            {
                xSpeed -= event.accelerationX * 2;
                ySpeed += event.accelerationY * 2;
            }
        }
    }
  • 相关阅读:
    点分治 (等级排) codeforces 321C
    树上点分治 poj 1741
    判断点在直线的左侧还是右侧
    树的重心
    链式前向星
    树上点的分治
    构造 素数
    二进制 + 模拟
    枚举 + 三分 (游标)
    枚举 + 三分
  • 原文地址:https://www.cnblogs.com/kuailezoe/p/3484307.html
Copyright © 2011-2022 走看看