public void Update(LeapLibrary.LeapComponet leap) { for (int i = 0; i < NbBordures; i++) { TabBordure[i].Update(leap); if (i > 0) /* Probleme de decalage quand trop rapide */ { Bordure LastBordure = TabBordure[i - 1]; Bordure CurrentBordure = TabBordure[i]; float DistanceX = Math.Abs(LastBordure.Position.X - CurrentBordure.Position.X); if ((DistanceX > EcartEntreBordure || DistanceX < EcartEntreBordure) && DistanceX < CurrentBordure.PositionMax) { TabBordure[i].Position.X += EcartEntreBordure - DistanceX; } } } for (int i = 0; i < GrandsArbre.Length; i++) { GrandsArbre[i].Update(leap); if (i > 0) { Arbre LastArbre = GrandsArbre[i - 1]; Arbre CurrentArbre = GrandsArbre[i]; float DistanceX = Math.Abs(LastArbre.Position.X - CurrentArbre.Position.X); if ((DistanceX > EcartEntreGrandArbres || DistanceX < EcartEntreGrandArbres) && DistanceX < 700) { GrandsArbre[i].Position.X += EcartEntreGrandArbres - DistanceX; } } } for (int i = 0; i < PetitsArbre.Length; i++) { PetitsArbre[i].Update(leap); if (i > 0) { Arbre LastArbre = PetitsArbre[i - 1]; Arbre CurrentArbre = PetitsArbre[i]; float DistanceX = Math.Abs(LastArbre.Position.X - CurrentArbre.Position.X); if ((DistanceX > EcartEntrePetitsArbres || DistanceX < EcartEntrePetitsArbres) && DistanceX < CurrentArbre.PositionMax && DistanceX < 600) { PetitsArbre[i].Position.X += EcartEntrePetitsArbres - DistanceX; } } } }
public void Update(LeapLibrary.LeapComponet leap) { float AjoutVitesse = 0; if (leap.FirstHand != null) { AjoutVitesse = leap.FirstHand.PalmNormal.Roll * 3; } Vitesse = StaticInfo.InitialSpeed_Nuage - AjoutVitesse; if (Vitesse < StaticInfo.InitialSpeed_Nuage) { Vitesse = StaticInfo.InitialSpeed_Nuage; } Position.X -= Vitesse; if (Position.X <= PositionMin) { Position.X = PositionMax; } }
public void Update(LeapLibrary.LeapComponet leap) { if (leap.FirstHand != null) { Position.X = (leap.FirstHand.PalmPosition.x / 120.0f) * 900; Position.Y = (leap.FirstHand.PalmPosition.z / 130.0f) * 900; for (int i = 0; i < leap.Gestures.Count; i++) { Leap.Gesture gesture = leap.Gestures[i]; switch (gesture.Type) { case Leap.Gesture.GestureType.TYPECIRCLE: StaticInfo.cptTimerProjectile += StaticInfo.SpeedTimerProjectile; if (StaticInfo.cptTimerProjectile > 1.0f) { StaticInfo.cptTimerProjectile = 0; ListBananes.Add(new ProjectileBanane(Position, StaticInfo.MonkeySpeedBanane)); } break; } } } Position.X += Convert.ToInt32(Keyboard.GetState().IsKeyDown(Keys.D)) * 15; Position.X -= Convert.ToInt32(Keyboard.GetState().IsKeyDown(Keys.A)) * 15; Position.Y += Convert.ToInt32(Keyboard.GetState().IsKeyDown(Keys.S)) * 15; Position.Y -= Convert.ToInt32(Keyboard.GetState().IsKeyDown(Keys.W)) * 15; if (Position.X < StaticInfo.LimiteInf.X) { Position.X = StaticInfo.LimiteInf.X; } if (Position.Y < StaticInfo.LimiteInf.Y) { Position.Y = StaticInfo.LimiteInf.Y; } if (Position.X > StaticInfo.LimiteSup.X) { Position.X = StaticInfo.LimiteSup.X; } if (Position.Y > StaticInfo.LimiteSup.Y) { Position.Y = StaticInfo.LimiteSup.Y; } //if(leap.FirstHand.pal->RPalmStrength > 0.75f) //if (leap.FirstHand.Finger(1).IsValid ) for (int i = 0; i < ListBananes.Count; i++) { ListBananes[i].Update(); if (ListBananes[i].Delete) { ListBananes.RemoveAt(i); i--; } } RecCollision.X = ((int)Position.X - RecCollision.Width / 2); RecCollision.Y = ((int)Position.Y - RecCollision.Height); FWheelAP.PlayAnimation(FWheelA); BWheelAP.PlayAnimation(BWheelA); PlayerAP.PlayAnimation(PersoA); YeuxAP.PlayAnimation(YeuxA); base.Udpate(RecCollision); }