当前位置: 首页>>代码示例>>C#>>正文


C# Terrain.setCamera方法代码示例

本文整理汇总了C#中Terrain.setCamera方法的典型用法代码示例。如果您正苦于以下问题:C# Terrain.setCamera方法的具体用法?C# Terrain.setCamera怎么用?C# Terrain.setCamera使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Terrain的用法示例。


在下文中一共展示了Terrain.setCamera方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Initialize

        public override void Initialize()
        {
            float aspectRatio = game.GraphicsDevice.Viewport.AspectRatio;

            #region Load Models
            //Load Models

            Vector3 initPlayerPosition = new Vector3(-500, 550, 500);
            player = new Player(game, initPlayerPosition, 5f);
            terrain = new Terrain(game);

            game.Components.Add(player);
            game.Components.Add(terrain);

            #endregion

            #region Load Cameras
            //Load Cameras
            thirdPersonCam = new _3rdPersonCam(game, (player.getPosition()), player, Vector3.Up, aspectRatio);
            flyByCam = new StaticCam(game, player, Vector3.Up, aspectRatio);
            firstPersonCam = new FirstPersonCam(game, player.getPosition(), Vector3.Up, aspectRatio);
            availableCameras = new Queue<Camera>();
            availableCameras.Enqueue(thirdPersonCam);
            availableCameras.Enqueue(flyByCam);

            currentCam = availableCameras.Dequeue();
            #endregion

            #region setup game objects cameras and draw order

            player.setCamera(currentCam);
            player.DrawOrder = 3;

            terrain.setCamera(currentCam);
            terrain.DrawOrder = 2;

            skybox = new Skybox(game, currentCam, "Space");
            skybox.DrawOrder = 1;
            game.Components.Add(skybox);
            #endregion

            #region initialize controls
            input = new Control(game, player, thirdPersonCam, false);
            game.Components.Add(input);
            #endregion

            collisionDetector = new Collision(game);
            game.Components.Add(collisionDetector);

            terrainCollisionDetector = new TerrainCollision(game, terrain);
            game.Components.Add(terrainCollisionDetector);

            #region Records
            //places records on the land scape randomly
            Random rand = new Random();
            for (int i = 0; i < 10; i++)
            {
                Vector3 pos = new Vector3(rand.Next(-255*30, 0), 0, rand.Next(0, 255*30 ));
                pos.Y = terrain.getTerrainHeight(pos) + 30;
                Record newRecord = new Record(game, pos);
                recordList.Add(newRecord);
                newRecord.setCamera(currentCam);
                newRecord.DrawOrder = 3;
                game.Components.Add(newRecord);
            }
            #endregion

            optionsHaveChanged();
        }
开发者ID:ewencluley,项目名称:Space1939,代码行数:69,代码来源:Level2.cs


注:本文中的Terrain.setCamera方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。