質問編集履歴

1

コードの記載位置編集

2018/02/27 09:57

投稿

kaede3
kaede3

スコア11

test CHANGED
File without changes
test CHANGED
@@ -22,202 +22,206 @@
22
22
 
23
23
  ソースコード
24
24
 
25
+
26
+
27
+ <script>
28
+
29
+
30
+
31
+ document.onkeydown = keydown ; // イベント検出
32
+
33
+ document.onkeyup = keyup ; // イベント検出
34
+
35
+
36
+
37
+ var x = 100 ; // 表示する座標
38
+
39
+ var y = 100 ; // 表示する座標
40
+
41
+ var pv = 10 ; // 1回の移動量
42
+
43
+
44
+
45
+ // キーボードのフラグ (1 : 押されている / 0 : 離されている)
46
+
47
+ var left = 0 ;
48
+
49
+ var right = 0 ;
50
+
51
+ var down = 0 ;
52
+
53
+ var space = 0 ;
54
+
55
+
56
+
57
+
58
+
59
+ /********** キーボードのイベント(押された) **********/
60
+
61
+
62
+
63
+ function keydown(event) // 押されたキーのフラグを 1 にする
64
+
65
+ {
66
+
67
+ if(event.which == 37) //left key
68
+
69
+ {
70
+
71
+ left = 1;
72
+
73
+ }
74
+
75
+ if(event.which == 38) //up key
76
+
77
+ {
78
+
79
+ up = 1;
80
+
81
+ }
82
+
83
+ if(event.which == 39) //right key
84
+
85
+ {
86
+
87
+ right = 1;
88
+
89
+ }
90
+
91
+ if(event.which == 40) //down key
92
+
93
+ {
94
+
95
+ down = 1;
96
+
97
+ }
98
+
99
+
100
+
101
+ move();
102
+
103
+ }
104
+
105
+
106
+
107
+ function move() // キーボード入力を反映して表示座標を更新
108
+
109
+ {
110
+
111
+ if(left==1) {
112
+
113
+ x = x - pv;
114
+
115
+ }
116
+
117
+ if(right==1) {
118
+
119
+ x = x + pv;
120
+
121
+ }
122
+
123
+ if(up==1) {
124
+
125
+ y = y - pv;
126
+
127
+ }
128
+
129
+ if(down==1) {
130
+
131
+ y = y + pv;
132
+
133
+ }
134
+
135
+
136
+
137
+ document.getElementById("box").style.left = x;
138
+
139
+ document.getElementById("box").style.top = y;
140
+
141
+ }
142
+
143
+
144
+
145
+ /********** キーボードのイベント(離された) **********/
146
+
147
+
148
+
149
+ function keyup(event) // 離されたキーのフラグを 0 にする
150
+
151
+ {
152
+
153
+ if(event.which == 37) //left key
154
+
155
+ {
156
+
157
+ left = 0;
158
+
159
+ }
160
+
161
+ if(event.which == 38) //up key
162
+
163
+ {
164
+
165
+ up = 0;
166
+
167
+ }
168
+
169
+ if(event.which == 39) //right key
170
+
171
+ {
172
+
173
+ right = 0;
174
+
175
+ }
176
+
177
+ if(event.which == 40) //down key
178
+
179
+ {
180
+
181
+ down = 0;
182
+
183
+ }
184
+
185
+ }
186
+
187
+
188
+
189
+ </script>
190
+
191
+ <body>
192
+
193
+ <div class="box" id="box"></div>
194
+
195
+ </body>
196
+
197
+
198
+
199
+
200
+
201
+ //↓css
202
+
203
+ .box{
204
+
205
+ top:100px;
206
+
207
+ left:100px;
208
+
209
+ z-index: 1;
210
+
211
+ position: absolute;
212
+
213
+ background-color: red;
214
+
215
+ height:100px;
216
+
217
+ width:100px;
218
+
219
+ }
220
+
221
+
222
+
25
223
  ```
26
224
 
27
- <script>
28
-
29
-
30
-
31
- document.onkeydown = keydown ; // イベント検出
32
-
33
- document.onkeyup = keyup ; // イベント検出
34
-
35
-
36
-
37
- var x = 100 ; // 表示する座標
38
-
39
- var y = 100 ; // 表示する座標
40
-
41
- var pv = 10 ; // 1回の移動量
42
-
43
-
44
-
45
- // キーボードのフラグ (1 : 押されている / 0 : 離されている)
46
-
47
- var left = 0 ;
48
-
49
- var right = 0 ;
50
-
51
- var down = 0 ;
52
-
53
- var space = 0 ;
54
-
55
-
56
-
57
-
58
-
59
- /********** キーボードのイベント(押された) **********/
60
-
61
-
62
-
63
- function keydown(event) // 押されたキーのフラグを 1 にする
64
-
65
- {
66
-
67
- if(event.which == 37) //left key
68
-
69
- {
70
-
71
- left = 1;
72
-
73
- }
74
-
75
- if(event.which == 38) //up key
76
-
77
- {
78
-
79
- up = 1;
80
-
81
- }
82
-
83
- if(event.which == 39) //right key
84
-
85
- {
86
-
87
- right = 1;
88
-
89
- }
90
-
91
- if(event.which == 40) //down key
92
-
93
- {
94
-
95
- down = 1;
96
-
97
- }
98
-
99
-
100
-
101
- move();
102
-
103
- }
104
-
105
-
106
-
107
- function move() // キーボード入力を反映して表示座標を更新
108
-
109
- {
110
-
111
- if(left==1) {
112
-
113
- x = x - pv;
114
-
115
- }
116
-
117
- if(right==1) {
118
-
119
- x = x + pv;
120
-
121
- }
122
-
123
- if(up==1) {
124
-
125
- y = y - pv;
126
-
127
- }
128
-
129
- if(down==1) {
130
-
131
- y = y + pv;
132
-
133
- }
134
-
135
-
136
-
137
- document.getElementById("box").style.left = x;
138
-
139
- document.getElementById("box").style.top = y;
140
-
141
- }
142
-
143
-
144
-
145
- /********** キーボードのイベント(離された) **********/
146
-
147
-
148
-
149
- function keyup(event) // 離されたキーのフラグを 0 にする
150
-
151
- {
152
-
153
- if(event.which == 37) //left key
154
-
155
- {
156
-
157
- left = 0;
158
-
159
- }
160
-
161
- if(event.which == 38) //up key
162
-
163
- {
164
-
165
- up = 0;
166
-
167
- }
168
-
169
- if(event.which == 39) //right key
170
-
171
- {
172
-
173
- right = 0;
174
-
175
- }
176
-
177
- if(event.which == 40) //down key
178
-
179
- {
180
-
181
- down = 0;
182
-
183
- }
184
-
185
- }
186
-
187
-
188
-
189
- </script>
190
-
191
- <body>
192
-
193
- <div class="box" id="box"></div>
194
-
195
- </body>
196
-
197
-
198
-
199
-
200
-
201
- //↓css
202
-
203
- .box{
204
-
205
- top:100px;
206
-
207
- left:100px;
208
-
209
- z-index: 1;
210
-
211
- position: absolute;
212
-
213
- background-color: red;
214
-
215
- height:100px;
216
-
217
- width:100px;
218
-
219
- }
220
-
221
225
  ### 試したこと
222
226
 
223
227
  しっかりキーボードの取得が認識されてるか、矢印キーを押したらboxの色を変えるなどをして調べたところ認識はされているようでした