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


C# IGameObject.getXPosition方法代码示例

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


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

示例1: addGameObject

        /// <summary>
        /// 
        /// </summary>
        /// <param name="gameObject"></param>
        /// <param name="parentGameObject"></param>
        public void addGameObject(IGameObject gameObject, IGameObject parentGameObject)
        {
            Debug.Assert(gameObject != parentGameObject, "a gameObject cannot be the parent of himself.");

            SceneNode targetSceneNode = SceneNode.getSceneNodeByGameObject(this.sceneNodeTree, parentGameObject);
            Debug.Assert(targetSceneNode != null, "no specified parentGameObject found in SceneNode tree");

            //set position relative to the parent.
            if (parentGameObject != null)
            {
                double xPositionRelativeToParent = parentGameObject.getXPosition() + gameObject.getXPosition();
                double yPositionRelativeToParent = parentGameObject.getYPosition() + gameObject.getYPosition();
                gameObject.setPosition(xPositionRelativeToParent, yPositionRelativeToParent);
            }

            //update the geometry position relative to the gameObject position.
            if (gameObject.getBoundingBoxGeometry() != null)
            {
                gameObject.getBoundingBoxGeometry().Transform = new TranslateTransform(gameObject.getXPosition(), gameObject.getYPosition());
            }

            targetSceneNode.addChild(new SceneNode(gameObject));

            this.registerGameObject(gameObject, this.gameObjectListMapByTag);
        }
开发者ID:ErPanfi,项目名称:ProjectHCI,代码行数:30,代码来源:SceneManager.cs

示例2: BoundingBoxViewerGameObject

        public BoundingBoxViewerGameObject(IGameObject gameObject)
        {
            Debug.Assert(gameObject.getBoundingBoxGeometry() != null, "expected gameObject.getBoundingBoxGeometry() != null");

            base._xPosition = gameObject.getBoundingBoxGeometry().Bounds.X - gameObject.getXPosition();
            base._yPosition = gameObject.getBoundingBoxGeometry().Bounds.Y - gameObject.getYPosition();
            base._gameObjectTag = Tags.DEBUG_TAG;

            Brush boundingBoxBrush = gameObject.isCollidable() ? Brushes.Red : Brushes.Yellow;
            GeometryDrawing geometryDrawing = new GeometryDrawing(null, new Pen(boundingBoxBrush, 1.0), gameObject.getBoundingBoxGeometry());
            DrawingImage boundingBoxDrawingImage = new DrawingImage(geometryDrawing);

            Image boundingBoxImage = new Image();
            boundingBoxImage.Source = boundingBoxDrawingImage;

            base._image = boundingBoxImage;

            this.gameObject = gameObject;
            this.previousCollidableState = gameObject.isCollidable();
        }
开发者ID:ErPanfi,项目名称:ProjectHCI,代码行数:20,代码来源:BoundingBoxViewerGameObject.cs

示例3: canvasUpdateImage

        /// <summary>
        /// 
        /// </summary>
        /// <param name="gameObject"></param>
        public void canvasUpdateImage(IGameObject gameObject)
        {
            Debug.Assert(gameObject != null, "expected gameObject != null");
            Debug.Assert(this.uiThreadImageUidMapByGameObject.ContainsKey(gameObject), "you must display this gameObject before try to update it.");

            String uiThreadImageUid = this.uiThreadImageUidMapByGameObject[gameObject];

            ImageSource imageSourceFrozen = (ImageSource)gameObject.getImage().Source.GetAsFrozen();
            double imageWidth = gameObject.getImage().Width;
            double imageHeight = gameObject.getImage().Height;
            Stretch streachImage = gameObject.getImage().Stretch;
            StretchDirection streachDirection = gameObject.getImage().StretchDirection;
            Transform renderTransformFrozen = gameObject.getImage().RenderTransform != null ? (Transform)gameObject.getImage().RenderTransform.GetAsFrozen() : null;

            this.targetCanvas.Dispatcher.Invoke(new Action(
                delegate()
                {
                    UIElement uiElement = this.uiThreadGetUiElement(uiThreadImageUid);
                    int zIndex = Canvas.GetZIndex(uiElement);

                    this.targetCanvas.Children.Remove(uiElement);

                    Image uiThreadImage = new Image();
                    uiThreadImage.Uid = uiThreadImageUid;
                    uiThreadImage.Source = imageSourceFrozen;
                    uiThreadImage.Width = imageWidth;
                    uiThreadImage.Height = imageHeight;
                    uiThreadImage.Stretch = streachImage;
                    uiThreadImage.StretchDirection = streachDirection;
                    uiThreadImage.RenderTransform = renderTransformFrozen;

                    this.targetCanvas.Children.Add(uiThreadImage);
                    this.uiThreadSetCanvasPosition(uiThreadImage, gameObject.getXPosition(), gameObject.getYPosition(), zIndex);

                }
             ));
        }
开发者ID:ErPanfi,项目名称:ProjectHCI,代码行数:41,代码来源:SceneManager.cs

示例4: canvasDisplayImage

        /// <summary>
        /// 
        /// </summary>
        /// <param name="gameObject"></param>
        public void canvasDisplayImage(IGameObject gameObject, int zIndex)
        {
            Debug.Assert(gameObject != null, "expected gameObject != null");
            Debug.Assert(gameObject.getImage() != null, "cannot display this gameObject because its image is null.");
            Debug.Assert(!this.uiThreadImageUidMapByGameObject.ContainsKey(gameObject), "this gameObject was already present in the canvas, try to remove it before ask to display again");

            Image nonUiThreadImage = gameObject.getImage();

            ImageSource imageSourceFrozen = (ImageSource) nonUiThreadImage.Source.GetAsFrozen();
            double imageWidth = nonUiThreadImage.Width;
            double imageHeight = nonUiThreadImage.Height;
            Stretch streachImage = nonUiThreadImage.Stretch;
            StretchDirection streachDirection = nonUiThreadImage.StretchDirection;
            Transform renderTransformFrozen = (Transform)nonUiThreadImage.RenderTransform.GetAsFrozen();

            String uid = Guid.NewGuid().ToString();

            this.targetCanvas.Dispatcher.Invoke(new Action(
                delegate()
                {
                    Image uiThreadImage = new Image();
                    uiThreadImage.Uid = uid;
                    uiThreadImage.Source = imageSourceFrozen;
                    uiThreadImage.Width = imageWidth;
                    uiThreadImage.Height = imageHeight;
                    uiThreadImage.Stretch = streachImage;
                    uiThreadImage.StretchDirection = streachDirection;
                    uiThreadImage.RenderTransform = renderTransformFrozen;

                    this.targetCanvas.Children.Add(uiThreadImage);
                    this.uiThreadSetCanvasPosition(uiThreadImage, gameObject.getXPosition(), gameObject.getYPosition(), zIndex);

                }
             ));

            this.uiThreadImageUidMapByGameObject.Add(gameObject, uid);
        }
开发者ID:ErPanfi,项目名称:ProjectHCI,代码行数:41,代码来源:SceneManager.cs

示例5: GameFloatingLabelObject

 public GameFloatingLabelObject(IGameObject generatingObject, string text)
     : base(generatingObject.getXPosition(), generatingObject.getYPosition(), text, FLOATING_TIME_MILLIS)
 {
 }
开发者ID:ErPanfi,项目名称:ProjectHCI,代码行数:4,代码来源:GameFloatingLabelObject.cs


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