本文整理匯總了C#中SceneKitSessionWWDC2013.PresentationViewController.RiseMainLight方法的典型用法代碼示例。如果您正苦於以下問題:C# PresentationViewController.RiseMainLight方法的具體用法?C# PresentationViewController.RiseMainLight怎麽用?C# PresentationViewController.RiseMainLight使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類SceneKitSessionWWDC2013.PresentationViewController
的用法示例。
在下文中一共展示了PresentationViewController.RiseMainLight方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: PresentStep
public override void PresentStep (int index, PresentationViewController presentationViewController)
{
switch (index) {
case 0:
// Hide everything (in case the user went backward)
for (var i = 1; i < 4; i++) {
var teapot = GroundNode.FindChildNode ("Teapot" + i, true);
teapot.Opacity = 0.0f;
}
break;
case 1:
// Move the camera and adjust the clipping plane
SCNTransaction.Begin ();
SCNTransaction.AnimationDuration = 3;
presentationViewController.CameraNode.Position = new SCNVector3 (0, 0, 200);
presentationViewController.CameraNode.Camera.ZFar = 500.0f;
SCNTransaction.Commit ();
break;
case 2:
// Revert to original position
SCNTransaction.Begin ();
SCNTransaction.AnimationDuration = 1;
presentationViewController.CameraNode.Position = new SCNVector3 (0, 0, 0);
presentationViewController.CameraNode.Camera.ZFar = 100.0f;
SCNTransaction.Commit ();
break;
case 3:
var numberNodes = new SCNNode[] { AddNumberNode ("64k", -17),
AddNumberNode ("6k", -9),
AddNumberNode ("3k", -1),
AddNumberNode ("1k", 6.5f),
AddNumberNode ("256", 14)
};
SCNTransaction.Begin ();
SCNTransaction.AnimationDuration = 1;
// Move the camera and the text
presentationViewController.CameraHandle.Position = new SCNVector3 (presentationViewController.CameraHandle.Position.X, presentationViewController.CameraHandle.Position.Y + 6, presentationViewController.CameraHandle.Position.Z);
TextManager.TextNode.Position = new SCNVector3 (TextManager.TextNode.Position.X, TextManager.TextNode.Position.Y + 6, TextManager.TextNode.Position.Z);
// Show the remaining resolutions
for (var i = 0; i < 5; i++) {
var numberNode = numberNodes [i];
numberNode.Position = new SCNVector3 (numberNode.Position.X, 7, -5);
var teapot = GroundNode.FindChildNode ("Teapot" + i, true);
teapot.Opacity = 1.0f;
teapot.Rotation = new SCNVector4 (0, 0, 1, (float)(Math.PI / 4));
teapot.Position = new SCNVector3 ((i - 2) * 8, 5, teapot.Position.Z);
}
SCNTransaction.Commit ();
break;
case 4:
presentationViewController.ShowsNewInSceneKitBadge (true);
// Remove the numbers
RemoveNumberNodes ();
SCNTransaction.Begin ();
SCNTransaction.AnimationDuration = 1;
// Add some text and code
TextManager.SetSubtitle ("SCNLevelOfDetail");
TextManager.AddCode ("#var lod1 = SCNLevelOfDetail.#CreateWithWorldSpaceDistance# (aGeometry, aDistance); \n"
+ "geometry.#LevelsOfDetail# = new SCNLevelOfDetail { lod1, lod2, ..., lodn };#");
// Animation the merge
for (int i = 0; i < 5; i++) {
var teapot = GroundNode.FindChildNode ("Teapot" + i, true);
teapot.Opacity = i == 0 ? 1.0f : 0.0f;
teapot.Rotation = new SCNVector4 (0, 0, 1, 0);
teapot.Position = new SCNVector3 (0, -5, teapot.Position.Z);
}
// Move the camera and the text
presentationViewController.CameraHandle.Position = new SCNVector3 (presentationViewController.CameraHandle.Position.X, presentationViewController.CameraHandle.Position.Y - 3, presentationViewController.CameraHandle.Position.Z);
TextManager.TextNode.Position = new SCNVector3 (TextManager.TextNode.Position.X, TextManager.TextNode.Position.Y - 3, TextManager.TextNode.Position.Z);
SCNTransaction.Commit ();
break;
case 5:
presentationViewController.ShowsNewInSceneKitBadge (false);
SCNTransaction.Begin ();
SCNTransaction.AnimationDuration = 3;
// Change the lighting to remove the front light and rise the main light
presentationViewController.UpdateLightingWithIntensities (new float[] { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.3f });
presentationViewController.RiseMainLight (true);
// Remove some text
TextManager.FadeOutText (SlideTextManager.TextType.Title);
TextManager.FadeOutText (SlideTextManager.TextType.Subtitle);
TextManager.FadeOutText (SlideTextManager.TextType.Code);
SCNTransaction.Commit ();
// Retrieve the main teapot
var maintTeapot = GroundNode.FindChildNode ("Teapot0", true);
//.........這裏部分代碼省略.........
示例2: WillOrderOut
public override void WillOrderOut (PresentationViewController presentationViewController)
{
// Reset the camera and lights before leaving this slide
SCNTransaction.Begin ();
SCNTransaction.AnimationDuration = 2;
presentationViewController.CameraNode.Camera.ZFar = 100.0f;
SCNTransaction.Commit ();
SCNTransaction.Begin ();
SCNTransaction.AnimationDuration = 0.5f;
presentationViewController.RiseMainLight (false);
SCNTransaction.Commit ();
}