質問編集履歴

4

見出し コードの挿入

2019/06/13 14:17

投稿

mas_555
mas_555

スコア13

test CHANGED
File without changes
test CHANGED
@@ -21,36 +21,6 @@
21
21
  そうなっていません。(ボールの端が壁にぶつかったときに跳ね返っているように見える)
22
22
 
23
23
  これはどうしてでしょうか?
24
-
25
-
26
-
27
- ### 【疑問に思った理由】
28
-
29
- ボールの描画は、Canvasのcreate_oval()で行っています。create_oval(円の左端, 円の上端, 円の右端, 円の下端)で描画されます。
30
-
31
- 今回のコードでは、create_ovalにボールの中心位置座標からの相対距離を入力しています。
32
-
33
- ボールの中心位置座標を(x,y) , ボールの幅 = 10 として、
34
-
35
- create_oval( x-10, y+10, x+10, y-10)で、ボールの中心をx,yとした直径20の円が描画されます。
36
-
37
-
38
-
39
- ボールの移動・跳ね返りは、ボールの中心位置座標(x,y)の値を変更し、(x,y) が ウィンドウの端(0,0) (600,400)の位置に来た時に反射させています。
40
-
41
- ということは、ボールの中心がウィンドウの端に来た時、ボールの半径10の部分はウィンドウの外に消えるような描写となっているべきです。
42
-
43
- しかし、ボールの端がウィンドウの端とぶつかって反射しているように見えます。
44
-
45
- (本当はボールの端がウィンドウの端とぶつかるように見えたほうがリアルで喜ばしいのですが、このコードでそうなるべきではないと考えています)
46
-
47
- 教えていただけるとうれしいです。
48
-
49
-
50
-
51
-
52
-
53
- ### 該当のソースコード
54
24
 
55
25
 
56
26
 
@@ -153,3 +123,27 @@
153
123
 
154
124
 
155
125
  ```
126
+
127
+
128
+
129
+ ### 【疑問に思った理由】
130
+
131
+ ボールの描画は、Canvasのcreate_oval()で行っています。create_oval(円の左端, 円の上端, 円の右端, 円の下端)で描画されます。
132
+
133
+ 今回のコードでは、create_ovalにボールの中心位置座標からの相対距離を入力しています。
134
+
135
+ ボールの中心位置座標を(x,y) , ボールの幅 = 10 として、
136
+
137
+ create_oval( x-10, y+10, x+10, y-10)で、ボールの中心をx,yとした直径20の円が描画されます。
138
+
139
+
140
+
141
+ ボールの移動・跳ね返りは、ボールの中心位置座標(x,y)の値を変更し、(x,y) が ウィンドウの端(0,0) (600,400)の位置に来た時に反射させています。
142
+
143
+ ということは、ボールの中心がウィンドウの端に来た時、ボールの半径10の部分はウィンドウの外に消えるような描写となっているべきです。
144
+
145
+ しかし、ボールの端がウィンドウの端とぶつかって反射しているように見えます。
146
+
147
+ (本当はボールの端がウィンドウの端とぶつかるように見えたほうがリアルで喜ばしいのですが、このコードでそうなるべきではないと考えています)
148
+
149
+ 教えていただけるとうれしいです。

3

リンク先を追加

2019/06/13 14:17

投稿

mas_555
mas_555

スコア13

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  勉強のためpythonとtkinterでブロック崩しゲームを作成しています。
6
6
 
7
- https://news.mynavi.jp/article/zeropython-10/
7
+ [参考にしたサイト](https://news.mynavi.jp/article/zeropython-10/)
8
8
 
9
9
  上記リンクを参考にしながら、ひとまず枠の中でボールが跳ね返り続けるコードを書いてみましたが、
10
10
 

2

見出し コードの挿入

2019/06/13 14:07

投稿

mas_555
mas_555

スコア13

test CHANGED
File without changes
test CHANGED
@@ -12,11 +12,9 @@
12
12
 
13
13
 
14
14
 
15
- ### 発生している問題・エラーメッセージ
16
15
 
17
16
 
18
-
19
- 【疑問】
17
+ ### 【疑問】
20
18
 
21
19
  下記コードの場合、ボールが壁(ウィンドウの枠)にぶつかった判定の時、ボールの半分が壁に沈み込む(見えなくなる)ような描写になるはずですが、
22
20
 
@@ -26,7 +24,7 @@
26
24
 
27
25
 
28
26
 
29
- 【疑問に思った理由】
27
+ ### 【疑問に思った理由】
30
28
 
31
29
  ボールの描画は、Canvasのcreate_oval()で行っています。create_oval(円の左端, 円の上端, 円の右端, 円の下端)で描画されます。
32
30
 
@@ -54,7 +52,9 @@
54
52
 
55
53
  ### 該当のソースコード
56
54
 
55
+
56
+
57
- すみませんほかの方の質問のようにインデントが反映されたコードの投稿の仕方がわかりませんでした。
57
+ ```python
58
58
 
59
59
 
60
60
 
@@ -149,3 +149,7 @@
149
149
  gameloop()
150
150
 
151
151
  win.mainloop()
152
+
153
+
154
+
155
+ ```

1

インデントがなくなってしまった

2019/06/13 14:03

投稿

mas_555
mas_555

スコア13

test CHANGED
File without changes
test CHANGED
@@ -53,6 +53,8 @@
53
53
 
54
54
 
55
55
  ### 該当のソースコード
56
+
57
+ すみませんほかの方の質問のようにインデントが反映されたコードの投稿の仕方がわかりませんでした。
56
58
 
57
59
 
58
60