void Start() { // Set classes. rb2d = GetComponent <Rigidbody2D>(); //anim = GetComponent<Animator>(); scs = GetComponent <SideCollision>(); respawnPosition = transform.position; levelManager = FindObjectOfType <LevelManager>(); playerSprite = GetComponent <SpriteRenderer>(); }
private void Moving(object sender, KeyEventArgs e) { switch (e.Key) { case Key.Right: CurrentLocation(e); if (Pacman.Right < Win.Width) { if (IsCollisionGhost()) { break; } if (IsFindTreasure()) { SetCollapsedImage(Treasure); SetVisibleImage(Exit); exitOpen = true; } if (exitOpen && IsGetExit()) { SetVisibleImage(Victory); } if (IsCollisionWall() && SideCollision.Equals(SideCollision.Right)) { while (IsCollisionWall()) { AnimationX = new DoubleAnimation(Pacman.X--, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.XProperty, AnimationX); AnimateY(); } } else { SideCollision = SideCollision.Right; AnimationX = new DoubleAnimation(Pacman.X + Step, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.XProperty, AnimationX); AnimateY(); } } break; case Key.Left: CurrentLocation(e); if (Pacman.Left > 0) { if (IsCollisionGhost()) { break; } if (IsFindTreasure()) { SetCollapsedImage(Treasure); SetVisibleImage(Exit); exitOpen = true; } if (exitOpen && IsGetExit()) { SetVisibleImage(Victory); } if (IsCollisionWall() && SideCollision.Equals(SideCollision.Left)) { while (IsCollisionWall()) { AnimationX = new DoubleAnimation(Pacman.X++, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.XProperty, AnimationX); AnimateY(); } } else { SideCollision = SideCollision.Left; AnimationX = new DoubleAnimation(Pacman.X - Step, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.XProperty, AnimationX); AnimateY(); } } break; case Key.Up: CurrentLocation(e); if (Pacman.Top > 0) { if (IsCollisionGhost()) { break; } if (IsFindTreasure()) { SetCollapsedImage(Treasure); SetVisibleImage(Exit); exitOpen = true; } if (exitOpen && IsGetExit()) { SetVisibleImage(Victory); } if (IsCollisionWall() && SideCollision.Equals(SideCollision.Top)) { while (IsCollisionWall()) { AnimateX(); AnimationY = new DoubleAnimation(Pacman.Y++, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.YProperty, AnimationY); } } else { SideCollision = SideCollision.Top; AnimateX(); AnimationY = new DoubleAnimation(Pacman.Y - Step, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.YProperty, AnimationY); } } break; case Key.Down: CurrentLocation(e); if (Pacman.Bottom < Win.Height - Step * 2) { if (IsCollisionGhost()) { break; } if (IsFindTreasure()) { SetCollapsedImage(Treasure); SetVisibleImage(Exit); exitOpen = true; } if (exitOpen && IsGetExit()) { SetVisibleImage(Victory); } if (IsCollisionWall() && SideCollision.Equals(SideCollision.Bottom)) { while (IsCollisionWall()) { AnimationY = new DoubleAnimation(Pacman.Y--, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.YProperty, AnimationY); } } else { SideCollision = SideCollision.Bottom; AnimateX(); AnimationY = new DoubleAnimation(Pacman.Y + Step, TimeSpan.FromMilliseconds(Speed)); Trans.BeginAnimation(TranslateTransform.YProperty, AnimationY); } } break; } }