public ChaserGameObject(String imageName, Vector2 position, Vector2 size, TexturedPrimitive target) : base(imageName, position, size, null) { Target = target; mHomeInRate = 0.05f; mHitTarget = false; mSpeed = 0.1f; }
public MyGame() { //hero mHero = new TexturedPrimitive("Me", kHeroPosition, kHeroSize); //basketballs mCreationTimeSpan = new TimeSpan(0); mBBallList = new List <BasketBall>(); }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. Game1.sSpriteBatch = new SpriteBatch(GraphicsDevice); //create the primitives mGraphicsObjects = new TexturedPrimitive[kNumObjects]; mGraphicsObjects[0] = new TexturedPrimitive("UWB-JPG", new Vector2(10, 10), new Vector2(30, 30)); mGraphicsObjects[1] = new TexturedPrimitive("UWB-JPG", new Vector2(200, 200), new Vector2(100, 100)); mGraphicsObjects[2] = new TexturedPrimitive("UWB-PNG", new Vector2(50, 10), new Vector2(30, 30)); mGraphicsObjects[3] = new TexturedPrimitive("UWB-PNG", new Vector2(50, 200), new Vector2(100, 100)); }
//detetar colisões com os limites do ecrã static public CameraWindowCollisionStatus CollidedWithCameraWindow(TexturedPrimitive prim) { Vector2 min = CameraWindowLowerLeftPosition; Vector2 max = CameraWindowUpperRightPosition; if (prim.MaxBound.Y > max.Y) { return(CameraWindowCollisionStatus.CollideTop); } if (prim.MinBound.X < min.X) { return(CameraWindowCollisionStatus.CollideLeft); } if (prim.MaxBound.X > max.X) { return(CameraWindowCollisionStatus.CollideRight); } if (prim.MinBound.Y < min.Y) { return(CameraWindowCollisionStatus.CollideBottom); } return(CameraWindowCollisionStatus.InsideWindow); }
public void UpdateGame(GameTime gameTime) { #region step a if (null != mFinal) //done { return; } #endregion step a #region steb b //hero movement : right thumb stic mHero.Update(InputWrapper.ThumbSticks.Right); //basketball for (int b = mBBallList.Count - 1; b >= 0; b--) { if (mBBallList[b].UpdateAndExplode()) { mBBallList.RemoveAt(b); mBBallMissed++; mScore += kBallMissedScore; } } #endregion step b #region step c for (int b = mBBallList.Count - 1; b >= 0; b--) { if (mHero.PrimitiveTouches(mBBallList[b])) { mBBallList.RemoveAt(b); mBBallHit++; mScore += kBallTouchScore; } } #endregion step c #region step d //check for new basketball condition TimeSpan timePassed = gameTime.TotalGameTime; timePassed = timePassed.Subtract(mCreationTimeSpan); if (timePassed.TotalMilliseconds > kBallMSecInterval) { mCreationTimeSpan = gameTime.TotalGameTime; BasketBall b = new BasketBall(); mTotalBallCreated++; mBBallList.Add(b); } #endregion stepd #region step e //check for winning condition ... if (mScore > kWinScore) { mFinal = new TexturedPrimitive("Winner", new Vector2(75, 50), new Vector2(30, 20)); } else if (mScore < kWinScore) { mFinal = new TexturedPrimitive("Loser", new Vector2(75, 50), new Vector2(30, 20)); } #endregion step e }