Пример #1
0
        public GameObject CreateHero(CanvasBitmap canvasBitmap, Vector2 position, Vector2 size)
        {
            var gameObject = new GameObject();

            gameObject.AddComponent(new TransformComponent(gameObject)
            {
                Position = position
            });
            var sourceRects = new Rect[]
            {
                new Rect(0, 32f, 32, 32),
                new Rect(32f, 32f, 32f, 32f),
                new Rect(64f, 32f, 32f, 32f),
                new Rect(96f, 32f, 32f, 32f),
            };
            var animatedGraphicsComponent = new AnimatedGraphicsComponent(gameObject, canvasBitmap, sourceRects, TimeSpan.FromMilliseconds(150));

            gameObject.AddComponent(animatedGraphicsComponent);
            gameObject.AddComponent(new PhysicsComponent(gameObject));
            gameObject.AddComponent(new InputComponent(gameObject));
            gameObject.AddComponent(new PlayerComponent(gameObject));
            var collider = new ColliderComponent(gameObject)
            {
                Size          = size,
                CollisionType = ColliderComponent.CollisionTypes.Dynamic
            };

            gameObject.AddComponent(collider);

            return(gameObject);
        }
Пример #2
0
 private void UpdateWalkAnimation(AnimatedGraphicsComponent graphicsComponent, PlayerComponent playerComponent, float walkOrientation)
 {
     if (walkOrientation < 0f)
     {
         graphicsComponent.InvertTile  = true;
         graphicsComponent.SourceRects = playerComponent.WalkSourceRects;
     }
     else if (walkOrientation > 0f)
     {
         graphicsComponent.InvertTile  = false;
         graphicsComponent.SourceRects = playerComponent.WalkSourceRects;
     }
     else
     {
         graphicsComponent.InvertTile  = false;
         graphicsComponent.SourceRects = playerComponent.StaticSourceRects;
     }
 }