public override void OnEnter() { base.OnEnter(); CCSize windowSize = Layer.VisibleBoundsWorldspace.Size; titleLabel.Position = new CCPoint(windowSize.Width / 2, windowSize.Height - 80); if(subtitleLabel != null) subtitleLabel.Position = (new CCPoint(windowSize.Width / 2, windowSize.Height - 120)); ball.Position = windowSize.Center; Window.Accelerometer.Enabled = true; // Register Touch Event var accelListener = new CCEventListenerAccelerometer(); accelListener.OnAccelerate = DidAccelerate; AddEventListener(accelListener); }
public override void OnEnter () { base.OnEnter (); CCRect visibleBounds = VisibleBoundsWorldspace; var origin = Layer.VisibleBoundsWorldspace.Origin; var size = Layer.VisibleBoundsWorldspace.Size; var sprite = new CCSprite(TestResource.s_Ball); sprite.Position = origin + size.Center; AddChild(sprite); // Create our Accelerometer Listener var listener = new CCEventListenerAccelerometer(); // We will use Lambda expressions to attach the event process listener.OnAccelerate = (acceleration) => { var ballSize = sprite.ContentSize; var acc = acceleration.Acceleration; var ptNow = sprite.Position; var orientation = Application.CurrentOrientation; //CCLog.Log("Accelerate : X: {0} Y: {1} Z: {2} orientation: {3}", accelerationValue.X, accelerationValue.Y, accelerationValue.Z, orientation ); #if ANDROID || WINDOWS_PHONE8 if (orientation == CCDisplayOrientation.LandscapeRight) { ptNow.X -= (float) acc.X * 9.81f; ptNow.Y -= (float) acc.Y * 9.81f; } else { ptNow.X += (float)acc.X * 9.81f; ptNow.Y += (float)acc.Y * 9.81f; } #else ptNow.X += (float)acc.X * 9.81f; ptNow.Y += (float)acc.Y * 9.81f; #endif ptNow.X = MathHelper.Clamp(ptNow.X, (float)(visibleBounds.Origin.X+ballSize.Width / 2.0), (float)(visibleBounds.Origin.X + visibleBounds.Size.Width - ballSize.Width / 2.0)); ptNow.Y = MathHelper.Clamp(ptNow.Y, (float)(visibleBounds.Origin.Y+ballSize.Height / 2.0), (float)(visibleBounds.Origin.Y + visibleBounds.Size.Height - ballSize.Height / 2.0)); sprite.Position = ptNow; }; // Now we tell the event dispatcher that the sprite is interested in Accelerometer events sprite.AddEventListener(listener); }
protected override void AddedToScene() { base.AddedToScene(); mouses = new Dictionary<int, CCNode>(); eTouch = new CCEventListenerTouchAllAtOnce(); eTouch.OnTouchesBegan = OnTouchesBegan; eTouch.OnTouchesMoved = OnTouchesMoved; eTouch.OnTouchesEnded = OnTouchesEnded; AddEventListener(eTouch); eAccel = new CCEventListenerAccelerometer(); eAccel.OnAccelerate = OnAccelerate; }
internal CCEventListenerAccelerometer (CCEventListenerAccelerometer accelerometer) : this() { OnAccelerate = accelerometer.OnAccelerate; }
internal CCEventListenerAccelerometer(CCEventListenerAccelerometer accelerometer) : this() { OnAccelerate = accelerometer.OnAccelerate; }