Интерактивная игра, карта не будет отображать другую карту, когда перевернуто для приложения UWP - PullRequest
0 голосов
/ 03 февраля 2019

Я нажимаю на изображение, а затем на другой карточке, которую я пытаюсь отобразить, предоставив кликнутое изображение исходный патч изображения, которое я хочу раскрыть, не будет отображаться новое изображение.Это просто отображает пустое место на моей сетке.Вот мой код до сих пор

    Image _imgMatch1 = new Image();
        Image _imgMatch2 = new Image();
        Image _imgMatch3 = new Image();
        Image _imgMatch4 = new Image();

        Image imagedClickedOne;
        Image imagedClickedTwo;


        Dictionary<string, Image> minionsDict = new Dictionary<string, Image>();
        int count = 0;


        public MainPage()
        {
            this.InitializeComponent();

            _imgMatch1.Source = new BitmapImage(new Uri("ms-appx://Assets/Tile1.jpg", UriKind.Absolute));
            _imgMatch2.Source = new BitmapImage(new Uri("ms-appx://Assets/Tile2.jpg", UriKind.Absolute));
            _imgMatch3.Source = new BitmapImage(new Uri("ms-appx://Assets/Tile3.jpg", UriKind.Absolute));
            _imgMatch4.Source = new BitmapImage(new Uri("ms-appx://Assets/Tile4.gif", UriKind.Absolute));

            //var imgSource = _imgMatch1;


            minionsDict.Add("_imgTile1", _imgMatch1);
            minionsDict.Add("_imgTile2", _imgMatch2);
            minionsDict.Add("_imgTile3", _imgMatch3);
            minionsDict.Add("_imgTile4", _imgMatch4);
            minionsDict.Add("_imgTile5", _imgMatch1);
            minionsDict.Add("_imgTile6", _imgMatch2);
            minionsDict.Add("_imgTile7", _imgMatch3);
            minionsDict.Add("_imgTile8", _imgMatch4);

        }

        private void OnClickTap(object sender, TappedRoutedEventArgs e)
        {

            count++;

            Image imagedClicked = sender as Image;

            var imageName = imagedClicked.Name;
            Image image = minionsDict[imageName];            


            if (imagedClicked != null)
            {
                if (imagedClickedOne == null)
                {
                    imagedClickedOne = image;

                    BitmapImage myBitmapImage = new BitmapImage
                    {
                        UriSource = new Uri("ms-appx://Assets/Tile2.jpg")
                    };


                    imagedClicked.Source = myBitmapImage;



                    return;

                }

                imagedClickedTwo = image;

                if (imagedClickedOne.Name == imagedClickedTwo.Name)
                {
                    imagedClickedOne = null;
                    imagedClickedTwo = null;
                }


            }    

Примечание. Я использую сетку, чтобы установить мои 8 квадратов.Мой код XAML просто

<Image "attributes">
  <Image.Source>
     <BitmapImage uriSource = "source" />
  <Image.Source>
<Image>

раз 8 для всех 8 исходных изображений

...