質問するログイン新規登録

質問編集履歴

4

コメント追加

2020/07/22 15:08

投稿

st1890
st1890

スコア3

title CHANGED
File without changes
body CHANGED
@@ -99,7 +99,7 @@
99
99
  if(containCardList.Contains(_card.Id)){
100
100
 
101
101
  //カードを非表示にする
102
- _card.SetInvisible();
102
+ _card.SetInvisible();       //126行目
103
103
  }
104
104
 
105
105
  //獲得していないカードは裏面表示にする

3

ソースコード修正

2020/07/22 15:08

投稿

st1890
st1890

スコア3

title CHANGED
File without changes
body CHANGED
@@ -89,6 +89,7 @@
89
89
  ```
90
90
 
91
91
  ```C#
92
+ //48行目で呼び出そうとしている処理
92
93
  //取得していないカードを背面にする
93
94
  public void HideCardList(List<int>containCardList){
94
95
 

2

48行目の位置追加 48行目で呼び出そうとしている処理のソースコード追加

2020/07/22 15:02

投稿

st1890
st1890

スコア3

title CHANGED
File without changes
body CHANGED
@@ -26,136 +26,7 @@
26
26
  using System.Collections;
27
27
  using System.Collections.Generic;
28
28
  using UnityEngine;
29
- using UnityEngine.UI;
30
- using DG.Tweening;
31
29
  using System;
32
-
33
- public class Card : MonoBehaviour
34
- {
35
- // カードのID
36
- public int Id;
37
-
38
- //表示するカードの画像
39
- public Image CardImage;
40
-
41
- //透過処理用
42
- public CanvasGroup CanGroup;
43
-
44
- //選択されているか判定
45
- private bool mIsSelected = false;
46
-
47
- //カード情報
48
- private CardData mData;
49
-
50
- private RectTransform mRt;
51
-
52
- //カードの設定
53
- public void Set(CardData data){
54
-
55
- //IDを設定する
56
- this.Id = data.Id;
57
-
58
- //カード情報を設定
59
- this.mData = data;
60
-
61
- //表示する画像を設定する
62
- //初回は全て裏面表示とする
63
- this.CardImage.sprite = Resources.Load<Sprite>("Image/card_back");
64
-
65
- //選択判定フラグを初期化する
66
- this.mIsSelected = false;
67
-
68
- //アルファ値を1を設定する
69
- this.CanGroup.alpha = 1;
70
-
71
- //座標情報を取得しておく
72
- this.mRt = this.GetComponent<RectTransform>();
73
-
74
- }
75
-
76
- public void OnClick(){
77
-
78
- //カードが表面になっていた場合は無効
79
- if(this.mIsSelected){
80
- return;
81
- }
82
-
83
- Debug.Log("OnClick");
84
-
85
- //Dotweenで回転処理を行う
86
- this.mRt.DORotate(new Vector3(0f,90f,0f),0.2f)
87
-
88
- //回転が完了したら
89
- .OnComplete (() => {
90
- //選択判定フラグを有効にする
91
- this.mIsSelected = true;
92
-
93
- //カードを表面にする
94
- this.CardImage.sprite = this.mData.ImgSprite;
95
-
96
- //Y座標を元に戻す
97
- this.OnReturnRotate();
98
- });
99
-
100
- }
101
-
102
- public void OnReturnRotate(){
103
-
104
- this.mRt.DORotate(new Vector3(0f,0f,0f),0.2f)
105
- //回転が終わったら
106
- .OnComplete(() => {
107
- //選択したCardIdを保存しよう
108
- GameStateController.Instance.SelectedCardIdList.Add(this.mData.Id);
109
- });
110
- }
111
-
112
- //カードを背面表示にする
113
- public void SetHide(){
114
- //選択判定フラグを初期化する
115
- this.mIsSelected = false;
116
-
117
- //カードを背面表示にする
118
- this.CardImage.sprite = Resources.Load<Sprite>("Image/card_back");
119
-
120
- Debug.Log("SerHide OK");
121
- }
122
-
123
- //カードを非表示にする
124
- public void SetInvisible(){
125
- //選択済設定にする
126
- this.mIsSelected = true;
127
-
128
- //アルファ値を0に設定する
129
- this.CanGroup.alpha = 0; //エラー指摘箇所
130
-
131
- Debug.Log("SetInvisible OK");
132
- }
133
-
134
- // public void OffInvisible(){
135
- // this.CanGroup.alpha = 1;
136
- // }
137
- }
138
- public class CardData{
139
-
140
- //カードID
141
- public int Id{get; private set;}
142
-
143
- //画像
144
- public Sprite ImgSprite{get; private set;}
145
-
146
- public CardData (int _id,Sprite _sprite){
147
- this.Id = _id;
148
- this.ImgSprite = _sprite;
149
- }
150
- }
151
-
152
- ```
153
-
154
- ```ここに言語名を入力
155
- using System.Collections;
156
- using System.Collections.Generic;
157
- using UnityEngine;
158
- using System;
159
30
  using UnityEngine.UI;
160
31
 
161
32
  public class GameSceneManager : MonoBehaviour
@@ -199,7 +70,7 @@
199
70
  }
200
71
 
201
72
  //カードの表示切り替えを行う
202
- this.CardCreate.HideCardList(this.mContainCardIdList);
73
+ this.CardCreate.HideCardList(this.mContainCardIdList);  //48行目
203
74
 
204
75
  //選択したカードリストを初期化する
205
76
  GameStateController.Instance.SelectedCardIdList.Clear();
@@ -217,6 +88,28 @@
217
88
  }
218
89
  ```
219
90
 
91
+ ```C#
92
+ //取得していないカードを背面にする
93
+ public void HideCardList(List<int>containCardList){
94
+
95
+ foreach(var _card in this.CardList){
96
+
97
+ //既に獲得したカードのIDの場合、非表示にする
98
+ if(containCardList.Contains(_card.Id)){
99
+
100
+ //カードを非表示にする
101
+ _card.SetInvisible();
102
+ }
103
+
104
+ //獲得していないカードは裏面表示にする
105
+ else{
106
+ //カードを裏面表示にする
107
+ _card.SetHide();
108
+ }
109
+ }
110
+ }
111
+ ```
112
+
220
113
  ### 試したこと
221
114
 
222
115
  CanvasGroupのアルファ値を1にするメソッドを用意してみた・・・失敗

1

文法の修正

2020/07/22 15:01

投稿

st1890
st1890

スコア3

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,10 @@
5
5
  現在、カードの再配布まではできているのですが、二週目のペアが揃った時のカード透過処理がうまくできていません。
6
6
  透過処理にはCanvas Groupを使用しています。
7
7
 
8
+ 対処方法をご教示いただきたいです。
9
+ よろしくお願いします。
8
10
 
11
+
9
12
  ### 発生している問題・エラーメッセージ
10
13
 
11
14
  ```