質問編集履歴

2

画像

2020/05/06 13:36

投稿

msaba
msaba

スコア14

test CHANGED
File without changes
test CHANGED
@@ -54,7 +54,7 @@
54
54
 
55
55
  次にボールを打ち出すスクリプトになります
56
56
 
57
- ```ここに言語を入力
57
+ ```
58
58
 
59
59
  using System.Collections;
60
60
 
@@ -122,10 +122,16 @@
122
122
 
123
123
 
124
124
 
125
- この状態からスタートするバット振らずに放置ると一応跳ね返りはしますがまぁバント程度なのでこれは全然いいのでが・
125
+ ばっとを放置して、ボールに当てるとボールがなぜか力がさらに加え続けます、、、なので当たっても力が戻ってきま
126
126
 
127
- いざ振ろうとするとやはすり抜が発生します
127
+ あとバットを振ろうとしてもすりけます
128
128
 
129
- 一応調べて速度関係調べましたが結構い値で代入してやりましたがあまりすり抜けかちょっと外野まで飛ばないです。これは何が原因なのかよくりません
129
+ 速度をかえてしても変わりませんでした
130
130
 
131
- Unityの画面もみせま
131
+ Unityの画面はこんな感じで
132
+
133
+ ![![イメージ説明](c436685b9dd82f214ae9bc80393f9e2d.png)](e1c7d4b7395ca44fd009153e2fe4ab5e.png)
134
+
135
+ ![イメージ説明](4bac588370a59be1e93156b02fe2d280.png)
136
+
137
+ ![イメージ説明](442461a89816929c997623755802177c.png)

1

文法の修正

2020/05/06 13:36

投稿

msaba
msaba

スコア14

test CHANGED
File without changes
test CHANGED
@@ -1,11 +1,131 @@
1
- 現在野球ゲーム作っていですが バットとボールの跳ね返しがうまくいきません
1
+ これがバットスクリプトです
2
2
 
3
- 止まったままだとボールがバットにあたることはできます
3
+ ```
4
4
 
5
- おそらくスイングスピードがはやいのかなって疑問形で思っていますが
5
+ using System.Collections;
6
6
 
7
- 確証がないので質問させていただきました
8
7
 
9
- スクリプトをみせてと言われたら見せます。
10
8
 
9
+ using UnityEngine;
10
+
11
+
12
+
13
+ public class SwingBat : MonoBehaviour
14
+
15
+ {
16
+
17
+ float r = 5;//回転する速度
18
+
19
+ // Start is called before the first frame update
20
+
21
+ void Start()
22
+
23
+ {
24
+
25
+
26
+
27
+ }
28
+
29
+
30
+
31
+ // Update is called once per frame
32
+
33
+ void Update()
34
+
35
+ {
36
+
37
+ if(Input.GetMouseButton(0))
38
+
39
+ {
40
+
41
+ transform.Rotate(0, -r, 0);
42
+
43
+ }
44
+
45
+ }
46
+
47
+ }
48
+
49
+
50
+
51
+ ```
52
+
53
+
54
+
55
+ 次にボールを打ち出すスクリプトになります
56
+
57
+ ```ここに言語を入力
58
+
59
+ using System.Collections;
60
+
61
+
62
+
63
+ using UnityEngine;
64
+
65
+
66
+
67
+ public class Shoot : MonoBehaviour
68
+
69
+ {
70
+
71
+ float timer = 0.0f;//0コンマ秒で進んでいく
72
+
73
+ float timelimit = 1.0f;
74
+
75
+ public static bool shootswitch;
76
+
77
+ // Start is called before the first frame update
78
+
79
+ void Start()
80
+
81
+ {
82
+
83
+ shootswitch = true;
84
+
85
+
86
+
87
+ }
88
+
89
+
90
+
91
+ // Update is called once per frame
92
+
93
+ void Update()
94
+
95
+ {
96
+
97
+ timer += Time.deltaTime;//timm.deltatimeにtimerを格納するイメージ
98
+
99
+
100
+
101
+ if((timer > timelimit)&shootswitch)//timelimitよりtimerが多くなったら つまり1秒後
102
+
103
+ {
104
+
105
+ float s = 700;
106
+
107
+ Rigidbody shoot = GetComponent<Rigidbody>();
108
+
109
+ shoot.AddForce(0, 0, s);
110
+
111
+
112
+
113
+ timer = 0.0f;
114
+
115
+ shootswitch = false;//リセット ここで時間だけリセットすると力が加え続けられるので力もリセット
116
+
117
+ }
118
+
119
+ }
120
+
121
+ }
122
+
123
+
124
+
125
+ この状態からスタートするとバットを振らずに放置すると一応跳ね返りはしますがまぁバント程度なのでこれは全然いいのですが・
126
+
11
- 原因をまず教えてただけると幸いで・・・
127
+ ざ振ろうとするとやはりり抜けが発生します
128
+
129
+ 一応調べて速度関係も調べましたが結構遅い値で代入してやりましたがあまりすり抜けかちょっと外野まで飛ばないです。これは何が原因なのかよくわかりません
130
+
131
+ Unityの画面もみせます