public void Update(GameTime gameTime) { if (TennisBall.IntersectsPixel(TennisBall.BallRectangle, TennisBall.BallTextureData, Panel.PanelRectangle, Panel.PanelTextureData)) { TennisBall.Update(gameTime); } else if (TennisBall.IntersectsPixel(TennisBall.BallRectangle, TennisBall.BallTextureData, Panel1.PanelRectangle, Panel1.PanelTextureData)) { TennisBall.Update(gameTime); } else if (TennisBall.IntersectsPixel(TennisBall.BallRectangle, TennisBall.BallTextureData, Panel2.PanelRectangle, Panel2.PanelTextureData)) { TennisBall.Update(gameTime); } else if (EndBlock.IntersectsPixel(TennisBall.BallRectangle, TennisBall.BallTextureData, EndBlock.PanelRectangle, EndBlock.PanelTextureData)) { TennisBall.Update(gameTime); finished = true; } else { TennisBall.Update(gameTime); } if (Panel1.IntersectsPixel(cursorRectangle, cursorTextureData, Panel1.PanelRectangle, Panel1.PanelTextureData) && Mouse.GetState().LeftButton == Microsoft.Xna.Framework.Input.ButtonState.Pressed && !TennisBall.started) { float x, y; x = Panel1.PanelPosition.X - mouse.X; y = Panel1.PanelPosition.Y - mouse.Y; Panel1.PanelPosition.X = Mouse.GetState().X + x; Panel1.PanelPosition.Y = Mouse.GetState().Y + y; } if (gui.Start.IntersectsPixel(cursorRectangle, cursorTextureData, gui.Start.ButtonRectangle, gui.Start.ButtonTextureData) && mouse.LeftButton == Microsoft.Xna.Framework.Input.ButtonState.Pressed) { TennisBall.started = true; } if (gui.Stop.IntersectsPixel(cursorRectangle, cursorTextureData, gui.Stop.ButtonRectangle, gui.Stop.ButtonTextureData) && mouse.LeftButton == Microsoft.Xna.Framework.Input.ButtonState.Pressed) { TennisBall.started = false; } if (gui.Hint.IntersectsPixel(cursorRectangle, cursorTextureData, gui.Hint.HRectangle, gui.Hint.HTextureData) && Mouse.GetState().LeftButton == Microsoft.Xna.Framework.Input.ButtonState.Pressed && TennisBall.started == false) { MessageBox.Show("Чтобы довести мяч до финиша используй\n" + "отскок мяча от блоков. Есть только один\n" + "путь до финиша!\n", "Подсказка #2", MessageBoxButtons.OK); } gui.Update(gameTime); Panel.Update(gameTime); Panel1.Update(gameTime); Panel2.Update(gameTime); EndBlock.Update(gameTime); mouse = Mouse.GetState(); cursorRectangle = new Rectangle(mouse.X - (cursorTexture.Width / 2), mouse.Y - (cursorTexture.Height / 2), cursorTexture.Width, cursorTexture.Height); }