Пример #1
0
        public void Initialize( ContentManager content, 
                                float X, 
                                float Y, 
                                int viewPortWidth, 
                                int viewPortHeight, 
                                string assetName)
        {
            _state = TileState.Blank;

            _position.X = X;
            _position.Y = Y; 
            _viewPortWidth = viewPortWidth;
            _viewPortHeight = viewPortHeight;

            _tileGraphic = content.Load<Texture2D>(assetName);

            _X = content.Load<Texture2D>("BoardX");
            _O = content.Load<Texture2D>("BoardO");

            _XMoveClip = content.Load<SoundEffect>("XMove");
            _OMoveClip = content.Load<SoundEffect>("OMove");

            jiggleState = JiggleState.Center;
            jiggleDirection = JiggleDirection.Left;
        }
Пример #2
0
        void Jiggle(SpriteBatch spriteBatch, Texture2D tile, Vector2 tilePosition, Texture2D letter)
        {
            if (jiggleDirection == JiggleDirection.Stop)
            {
                Rectangle rect = new Rectangle((int)tilePosition.X, (int)tilePosition.Y, ((int)(0.18 * ViewPortWidth)), ((int)(0.3 * ViewPortHeight)));
                spriteBatch.Draw(tile, rect, Color.White);
                spriteBatch.Draw(letter, rect, Color.White);
            }
            else
            {
                switch (jiggleState)
                {
                    case JiggleState.Center:

                        switch (jiggleDirection)
                        {
                            case JiggleDirection.Left:
                                jiggleState = JiggleState.Left;
                                tilePosition.X -= JiggleAmount;
                                tilePosition.Y -= JiggleAmount;
                                break;

                            case JiggleDirection.Right:
                                jiggleState = JiggleState.Right;
                                tilePosition.X += JiggleAmount;
                                tilePosition.Y += JiggleAmount;
                                break;
                        }
                        break;

                    case JiggleState.Left:

                        switch (jiggleDirection)
                        {
                            case JiggleDirection.Left:
                                jiggleDirection = JiggleDirection.Right;
                                break;

                            case JiggleDirection.Right:
                                jiggleState = JiggleState.Center;
                                tilePosition.X += JiggleAmount;
                                tilePosition.Y += JiggleAmount;
                                break;
                        }
                        break;

                    case JiggleState.Right:

                        switch (jiggleDirection)
                        {
                            case JiggleDirection.Left:
                                jiggleState = JiggleState.Center;
                                tilePosition.X -= JiggleAmount;
                                tilePosition.Y -= JiggleAmount;
                                break;

                            case JiggleDirection.Right:
                                jiggleDirection = JiggleDirection.Left;
                                break;
                        }
                        break;
                }

                Rectangle rect = new Rectangle((int)tilePosition.X, (int)tilePosition.Y, ((int)(0.18 * ViewPortWidth)), ((int)(0.3 * ViewPortHeight)));
                spriteBatch.Draw(tile, rect, Color.White);
                spriteBatch.Draw(letter, rect, Color.White);
            }
        }