質問編集履歴
1
追加で試してみたこと
test
CHANGED
File without changes
|
test
CHANGED
@@ -133,3 +133,85 @@
|
|
133
133
|
とコードを書き加えてみたのですが歩き時と同じスピードで走ります。
|
134
134
|
|
135
135
|
ダッシュ中には倍の速さになるように速度設定するにはどうすればよいですか?
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
追記
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
別途で「runspeed = 6;」を用意し、ダッシュ中はこの「runspeed」に切り替わるように下記のコード
|
144
|
+
|
145
|
+
```C#
|
146
|
+
|
147
|
+
コード
|
148
|
+
|
149
|
+
if (Input.GetButton("Run"))
|
150
|
+
|
151
|
+
{
|
152
|
+
|
153
|
+
speed = runspeed;
|
154
|
+
|
155
|
+
if (Mathf.Abs(velx) > 4)
|
156
|
+
|
157
|
+
{
|
158
|
+
|
159
|
+
if (velx > 4.0f)
|
160
|
+
|
161
|
+
{
|
162
|
+
|
163
|
+
rb2d.velocity = new Vector2(8.0f, vely);
|
164
|
+
|
165
|
+
}
|
166
|
+
|
167
|
+
if (velx < 4.0f)
|
168
|
+
|
169
|
+
{
|
170
|
+
|
171
|
+
rb2d.velocity = new Vector2(8.0f, vely);
|
172
|
+
|
173
|
+
}
|
174
|
+
|
175
|
+
}
|
176
|
+
|
177
|
+
}
|
178
|
+
|
179
|
+
else
|
180
|
+
|
181
|
+
{
|
182
|
+
|
183
|
+
if (Mathf.Abs(velx) > 4)
|
184
|
+
|
185
|
+
{
|
186
|
+
|
187
|
+
if (velx > 4.0f)
|
188
|
+
|
189
|
+
{
|
190
|
+
|
191
|
+
rb2d.velocity = new Vector2(4.0f, vely);
|
192
|
+
|
193
|
+
}
|
194
|
+
|
195
|
+
if (velx < 4.0f)
|
196
|
+
|
197
|
+
{
|
198
|
+
|
199
|
+
rb2d.velocity = new Vector2(4.0f, vely);
|
200
|
+
|
201
|
+
}
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
}
|
206
|
+
|
207
|
+
}
|
208
|
+
|
209
|
+
```
|
210
|
+
|
211
|
+
にしてみたところ、
|
212
|
+
|
213
|
+
X軸+向きの移動時:最大速度到達までの時間が遅くなったが、正しく動作してくれた。
|
214
|
+
|
215
|
+
X軸-向きの移動時:speedが3.0になったら0にリセットされてしまう。ダッシュ時、+方向に動いてしまう。
|
216
|
+
|
217
|
+
といった感じになりました。
|