public override void OnEnter() { base.OnEnter(); Window.IsUseDepthTesting = true; CCRect visibleBounds = VisibleBoundsWorldspace; // To reuse a grid the grid size and the grid type must be the same. // in this case: // Lens3D is Grid3D and it's size is (15,10) // Waves3D is Grid3D and it's size is (15,10) var lens = new CCLens3D(3.0f, new CCGridSize(15, 10), bgNode.ContentSize.Center, 200); var waves = new CCWaves3D(10, new CCGridSize(15, 10), 18, 30); var reuse = new CCReuseGrid(1); var delay = new CCDelayTime (8); bgNode.AnchorPoint = CCPoint.AnchorMiddle; var orbit = new CCOrbitCamera(5, 30.0f, 2, 20, 180, 0, -90); var orbit_back = orbit.Reverse(); bgNode.RepeatForever(orbit, orbit_back); bgNode.RunActions(lens, delay, reuse, waves); }
protected override void AddedToScene() { base.AddedToScene(); CCSize s = Layer.VisibleBoundsWorldspace.Size; CCSprite p = new CCSprite(TestResource.s_back3); AddChild(p, 0); p.Position = (new CCPoint(s.Width / 2, s.Height / 2)); //p.Opacity = 50; CCSprite sprite; CCOrbitCamera orbit; CCCamera cam; CCSize ss; // LEFT s = p.ContentSize; sprite = new CCSprite(TestResource.s_pPathGrossini); sprite.Scale = (0.5f); p.AddChild(sprite, 0); sprite.Position = (new CCPoint(s.Width / 4 * 1, s.Height / 2)); cam = sprite.Camera; orbit = new CCOrbitCamera(2, 1, 0, 0, 360, 0, 0); sprite.RunAction(new CCRepeatForever (orbit)); // CENTER sprite = new CCSprite(TestResource.s_pPathGrossini); sprite.Scale = 1.0f; p.AddChild(sprite, 0); sprite.Position = new CCPoint(s.Width / 4 * 2, s.Height / 2); orbit = new CCOrbitCamera(2, 1, 0, 0, 360, 45, 0); sprite.RunAction(new CCRepeatForever (orbit)); // RIGHT sprite = new CCSprite(TestResource.s_pPathGrossini); sprite.Scale = 2.0f; p.AddChild(sprite, 0); sprite.Position = new CCPoint(s.Width / 4 * 3, s.Height / 2); ss = sprite.ContentSize; orbit = new CCOrbitCamera(2, 1, 0, 0, 360, 90, -45); sprite.RunAction(new CCRepeatForever (orbit)); // PARENT orbit = new CCOrbitCamera(10, 1, 0, 0, 360, 0, 90); p.RunAction(new CCRepeatForever (orbit)); Scale = 1; }
public CCOrbitCameraState(CCOrbitCamera action, CCNode target) : base(action, target) { AngleX = action.AngleX; AngleZ = action.AngleZ; DeltaAngleX = action.DeltaAngleX; DeltaAngleZ = action.DeltaAngleZ; DeltaRadius = action.DeltaRadius; Radius = action.Radius; // We are assuming the local camera will be centered directly at the target // => Add radius to the z position of local camera CCPoint3 fauxLocalCameraCenter = target.FauxLocalCameraCenter; fauxLocalCameraCenter.Z += Radius; target.FauxLocalCameraCenter = fauxLocalCameraCenter; //CameraCenter = fauxLocalCameraCenter; RadDeltaZ = CCMacros.CCDegreesToRadians(DeltaAngleZ); RadDeltaX = CCMacros.CCDegreesToRadians(DeltaAngleX); // Only calculate the SpericalRadius when needed. if (float.IsNaN(Radius) || float.IsNaN(AngleZ) || float.IsNaN(AngleX)) { float r, zenith, azimuth; SphericalRadius(out r, out zenith, out azimuth); if (float.IsNaN(Radius)) { Radius = r; } if (float.IsNaN(AngleZ)) { AngleZ = CCMacros.CCRadiansToDegrees(zenith); } if (float.IsNaN(AngleX)) { AngleX = CCMacros.CCRadiansToDegrees(azimuth); } } RadZ = CCMacros.CCDegreesToRadians(AngleZ); RadX = CCMacros.CCDegreesToRadians(AngleX); }
//CCWindowProjection preProjection; public CameraCenterTest() { CCSprite sprite; CCOrbitCamera orbit = new CCOrbitCamera(10, 1, 0, 0, 360, 0, 0);; // LEFT-TOP sprite = new CCSprite("Images/white-512x512") { Tag = 100 }; AddChild(sprite, 0); sprite.Color = CCColor3B.Red; sprite.TextureRectInPixels = new CCRect(0, 0, 120, 50); sprite.RepeatForever(orbit); // LEFT-BOTTOM sprite = new CCSprite("Images/white-512x512") { Tag = 101 }; AddChild(sprite, 0); sprite.Color = CCColor3B.Blue; sprite.TextureRectInPixels = new CCRect(0, 0, 120, 50); sprite.RepeatForever(orbit); // RIGHT-TOP sprite = new CCSprite("Images/white-512x512") { Tag = 102 }; AddChild(sprite, 0); sprite.Color = CCColor3B.Yellow; sprite.TextureRectInPixels = new CCRect(0, 0, 120, 50); sprite.RepeatForever(orbit); // RIGHT-BOTTOM sprite = new CCSprite("Images/white-512x512") { Tag = 103 }; AddChild(sprite, 0); sprite.Color = CCColor3B.Green; sprite.TextureRectInPixels = new CCRect(0, 0, 120, 50); sprite.RepeatForever(orbit); // CENTER sprite = new CCSprite("Images/white-512x512") { Tag = 104 }; AddChild(sprite, 0); sprite.Color = CCColor3B.White; sprite.TextureRectInPixels = new CCRect(0, 0, 120, 50); sprite.RepeatForever(orbit); }
public override void OnEnter() { base.OnEnter(); CCRect visibleBounds = VisibleBoundsWorldspace; // To reuse a grid the grid size and the grid type must be the same. // in this case: // Lens3D is Grid3D and it's size is (15,10) // Waves3D is Grid3D and it's size is (15,10) CCCamera contentCamera = contentLayer.Camera; contentCamera.Projection = CCCameraProjection.Projection3D; contentCamera.PerspectiveAspectRatio = 1.0f; CCPoint3 cameraCenter = contentCamera.CenterInWorldspace; CCPoint3 cameraTarget = contentCamera.TargetInWorldspace; float targeCenterLength = (cameraTarget - cameraCenter).Length; contentCamera.NearAndFarPerspectiveClipping = new CCPoint (0.1f, 100.0f); contentCamera.PerspectiveFieldOfView = (float)Math.PI / 3.0f; //(float)Math.Atan(visibleBounds.Size.Height / (2.0f * targeCenterLength)); var lens = new CCLens3D(0.0f, new CCGridSize(15, 10), bgNode.ContentSize.Center, 90); var waves = new CCWaves3D(10, new CCGridSize(15, 10), 18, 15); var reuse = new CCReuseGrid(1); var delay = new CCDelayTime (8); bgNode.AnchorPoint = CCPoint.AnchorMiddle; var orbit = new CCOrbitCamera(5, 30.0f, 2, 20, 180, 0, -90); var orbit_back = orbit.Reverse(); bgNode.RepeatForever(orbit, orbit_back); bgNode.RunActions(lens, delay, reuse, waves); }
public CCOrbitCameraState (CCOrbitCamera action, CCNode target) : base (action, target) { AngleX = action.AngleX; AngleZ = action.AngleZ; DeltaAngleX = action.DeltaAngleX; DeltaAngleZ = action.DeltaAngleZ; DeltaRadius = action.DeltaRadius; Radius = action.Radius; // We are assuming the local camera will be centered directly at the target // => Add radius to the z position of local camera CCPoint3 fauxLocalCameraCenter = target.FauxLocalCameraCenter; fauxLocalCameraCenter.Z += Radius; target.FauxLocalCameraCenter = fauxLocalCameraCenter; //CameraCenter = fauxLocalCameraCenter; RadDeltaZ = CCMacros.CCDegreesToRadians (DeltaAngleZ); RadDeltaX = CCMacros.CCDegreesToRadians (DeltaAngleX); // Only calculate the SpericalRadius when needed. if (float.IsNaN (Radius) || float.IsNaN (AngleZ) || float.IsNaN (AngleX)) { float r, zenith, azimuth; SphericalRadius (out r, out zenith, out azimuth); if (float.IsNaN (Radius)) Radius = r; if (float.IsNaN (AngleZ)) AngleZ = CCMacros.CCRadiansToDegrees (zenith); if (float.IsNaN (AngleX)) AngleX = CCMacros.CCRadiansToDegrees (azimuth); } RadZ = CCMacros.CCDegreesToRadians (AngleZ); RadX = CCMacros.CCDegreesToRadians (AngleX); }
public ActionOrbit() { var orbit1 = new CCOrbitCamera(2, 1, 0, 0, 180, 0, 0); action1 = new CCSequence(orbit1,orbit1.Reverse()); var orbit2 = new CCOrbitCamera(2, 1, 0, 0, 180, -45, 0); action2 = new CCSequence(orbit2, orbit2.Reverse()); var orbit3 = new CCOrbitCamera(2, 1, 0, 0, 90, 90, 0); action3 = new CCSequence(orbit3, orbit3.Reverse()); var move = new CCMoveBy (3, new CCPoint(100, -100)); var move_back = move.Reverse(); var seq = new CCSequence(move, move_back); rfe = new CCRepeatForever (seq); }
public CameraTest1() { sprite1 = new CCSprite(TestResource.s_back3); AddChild (sprite1); sprite1.Scale = 0.5f; sprite2 = new CCSprite(TestResource.s_back3); AddChild (sprite2); sprite2.Scale = 0.5f; var camera = new CCOrbitCamera(10, 0, 1, 0, 360, 0, 0); sprite1.RunAction( camera ); sprite2.RunAction( camera ); }