質問編集履歴

3

文とscript追加

2021/01/07 09:41

投稿

nine_fish397
nine_fish397

スコア8

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,10 @@
3
3
  色々なサイトを参考にして、画面をクリックするとスタミナのゲージが減る仕組みは作れたのですが、ゲージが0以下になった時にプレイヤーがジャンプできない仕様にすることができずにいます。どうすればゲージとプレイヤーを連動させることができますか?
4
4
 
5
5
  お暇があれば助言をいただきたいです。
6
+
7
+
8
+
9
+ 追記1/7 プレイヤー側の方でSliderの管理をすることでスタミナゲージをジャンプの時に減らすことができました。助言をしてくださった方々、本当にありがとうございます。あと、上記の通りプレイヤーがのスタミナが0になったらジャンプの動作を受け付けないようにし、一定時間でスタミナの回復を行いたいのですが、どのような手段で行えばいいか助言をいただきたいです。
6
10
 
7
11
 
8
12
 
@@ -16,7 +20,13 @@
16
20
 
17
21
  public float Hp = 100f;//スタミナ
18
22
 
23
+ public Slider _slider;//新規追加
24
+
25
+ public GameObject slider;//新規追加
26
+
19
27
 
28
+
29
+
20
30
 
21
31
  //スプライト番号
22
32
 
@@ -66,6 +76,10 @@
66
76
 
67
77
  _gameMgr = gameMgr.GetComponent<GameMgr>();//ゲーム管理スクリプトを取得
68
78
 
79
+ _slider = slider.GetComponent<Slider>();//新規追加
80
+
81
+ _slider.value = hp;//新規追加
82
+
69
83
  }
70
84
 
71
85
 
@@ -84,66 +98,14 @@
84
98
 
85
99
  _rigidbody.velocity = Vector2.zero;//落下速度を一度リセット
86
100
 
87
- _rigidbody.AddForce(new Vector2(0, Jump));//上方向の力
101
+ _rigidbody.AddForce(new Vector2(0, Jump));//上方向の力
102
+
103
+
104
+
105
+ _slider.value -= 10f; //新規追加
88
106
 
89
107
  }
90
108
 
91
109
  }
92
110
 
93
111
  ```
94
-
95
-
96
-
97
- ```ここに言語を入力
98
-
99
- Sliderのコード
100
-
101
- public class SutaminaBar : MonoBehaviour
102
-
103
- {
104
-
105
- public PlayerControll playerControll;
106
-
107
- Slider hpSlider;
108
-
109
-
110
-
111
- // Use this for initialization
112
-
113
- void Start()
114
-
115
- {
116
-
117
- hpSlider = GetComponent<Slider>();
118
-
119
-
120
-
121
- }
122
-
123
-
124
-
125
- // Update is called once per frame
126
-
127
- void Update()
128
-
129
- {
130
-
131
- //クリックしたときにhpを10減らす。
132
-
133
- if (Input.GetMouseButtonDown(0))
134
-
135
- {
136
-
137
- playerControll.Hp -= 10f;
138
-
139
- Debug.Log("-10");
140
-
141
- }
142
-
143
- }
144
-
145
- }
146
-
147
-
148
-
149
- ```

2

スクリプト変更

2021/01/07 09:41

投稿

nine_fish397
nine_fish397

スコア8

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,11 @@
14
14
 
15
15
  {
16
16
 
17
+ public float Hp = 100f;//スタミナ
18
+
19
+
20
+
17
- //スプライト番号
21
+ //スプライト番号
18
22
 
19
23
  const int SPR_FALL = 0;
20
24
 
@@ -98,7 +102,7 @@
98
102
 
99
103
  {
100
104
 
101
-
105
+ public PlayerControll playerControll;
102
106
 
103
107
  Slider hpSlider;
104
108
 
@@ -110,33 +114,9 @@
110
114
 
111
115
  {
112
116
 
113
-
114
-
115
117
  hpSlider = GetComponent<Slider>();
116
118
 
117
-
118
-
119
- float maxHp = 100f;
119
+
120
-
121
- float nowHp = 100f;
122
-
123
-
124
-
125
-
126
-
127
- //スライダーの最大値の設定
128
-
129
- hpSlider.maxValue = maxHp;
130
-
131
-
132
-
133
- //スライダーの現在値の設定
134
-
135
- hpSlider.value = nowHp;
136
-
137
-
138
-
139
-
140
120
 
141
121
  }
142
122
 
@@ -154,11 +134,13 @@
154
134
 
155
135
  {
156
136
 
157
- hpSlider.value -= 10f;
137
+ playerControll.Hp -= 10f;
158
138
 
159
- }
139
+ Debug.Log("-10");
160
140
 
161
- }
141
+ }
142
+
143
+ }
162
144
 
163
145
  }
164
146
 

1

脱字

2021/01/04 14:02

投稿

nine_fish397
nine_fish397

スコア8

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- UnityのSlider を使ってスタミナ機能を作ろうとしています。画面をクリックするとプレイヤーはジャンするのですが、その際にスタミナのゲージが減少し、0以下の場合一定時間経過しないと再度ジャンプできないような仕様で作りたいと思っています。
1
+ UnityのSlider を使ってスタミナ機能を作ろうとしています。画面をクリックするとプレイヤーはジャンするのですが、その際にスタミナのゲージが減少し、0以下の場合一定時間経過しないと再度ジャンプできないような仕様で作りたいと思っています。
2
2
 
3
3
  色々なサイトを参考にして、画面をクリックするとスタミナのゲージが減る仕組みは作れたのですが、ゲージが0以下になった時にプレイヤーがジャンプできない仕様にすることができずにいます。どうすればゲージとプレイヤーを連動させることができますか?
4
4