質問編集履歴

3

a

2020/03/02 00:21

投稿

exif-u
exif-u

スコア4

test CHANGED
@@ -1 +1 @@
1
- phina.jsライブラリで当たり判定を検出できない
1
+ testElemntCount()
test CHANGED
@@ -1,291 +1 @@
1
- ```javascript
2
-
3
-
4
-
5
- <html>
6
-
7
- <head>
8
-
9
- <meta charset='utf-8' />
10
-
11
- <meta name="viewport" content="width=device-width, user-scalable=no" />
12
-
13
- <meta name="apple-mobile-web-app-capable" content="yes" />
14
-
15
-
16
-
17
- <title>Getting started | phina.js</title>
18
-
19
- <!-- phina.js を読み込む -->
20
-
21
- <script src='http://cdn.rawgit.com/phi-jp/phina.js/v0.2.0/build/phina.js'></script>
22
-
23
-
24
-
25
- <!-- メイン処理 -->
26
-
27
- <script>
28
-
29
- // phina.js をグローバル領域に展開
30
-
31
- phina.globalize();
32
-
33
-
34
-
35
- var ASSETS = {
36
-
37
- //image
38
-
39
- image: {
40
-
41
- 'tomapiko': 'https://rawgit.com/phi-jp/phina.js/develop/assets/images/tomapiko.png',
42
-
43
- },
44
-
45
- };
46
-
47
-
48
-
49
- var SCREEN_WIDTH = 640;
50
-
51
- var SCREEN_HEIGHT = 960;
52
-
53
- var SPEED = 5;
54
-
55
- var ENEMY_INTERVAL = 10;
56
-
57
-
58
-
59
- // MainScene クラスを定義
60
-
61
- phina.define('MainScene', {
62
-
63
- superClass: 'DisplayScene',
64
-
65
- init: function() {
66
-
67
- this.superInit();
68
-
69
- // 背景色を指定
70
-
71
- this.backgroundColor = '#444';
72
-
73
- // スプライト画像作成
74
-
75
- var sprite = Sprite('tomapiko').addChildTo(this);
76
-
77
- // 初期位置
78
-
79
- sprite.x = 325;
80
-
81
- sprite.y = 740;
82
-
83
-
84
-
85
- // 一定フレーム経過したら
86
-
87
- // タッチ保持イベント
88
-
89
- this.onpointstay = function(e) {
90
-
91
- // スプライトをタッチ位置に
92
-
93
- sprite.x = e.pointer.x;
94
-
95
- sprite.y = e.pointer.y;
96
-
97
- };
98
-
99
- // タッチ移動イベント
100
-
101
- this.onpointmove = function(e) {
102
-
103
- // スプライトをタッチ位置に
104
-
105
- sprite.x = e.pointer.x;
106
-
107
- sprite.y = e.pointer.y;
108
-
109
- };
110
-
111
-
112
-
113
- },
114
-
115
-
116
-
117
- update: function(app){
118
-
119
-
120
-
121
- if (app.frame % ENEMY_INTERVAL === 0) {
122
-
123
- // 敵生成
124
-
125
- //長方形を描画
126
-
127
- for(var kali = 1; kali <= 50;){
128
-
129
- var default_x = Random.randint(-15,655);
130
-
131
- var default_y = Random.randint(-15,975);
132
-
133
- if (-5 <= default_x && default_x <= 645 && -5 <= default_y && default_y <= 965){}
134
-
135
- else{
136
-
137
- var shape = Shape().addChildTo(this);
138
-
139
- shape.setSize(10,10);
140
-
141
- shape.x = default_x;
142
-
143
- shape.y = default_y;
144
-
145
-
146
-
147
- if (-15 <= default_x && default_x <= 320 && -15 <= default_y && default_y <= 330){
148
-
149
- // Physicalクラスを適用して移動
150
-
151
- var phis_y_left_up = Random.randint(1,4)
152
-
153
- var phis_x_left_up = Math.sqrt(25 - phis_y_left_up^2)
154
-
155
- var last_x = phis_x_left_up
156
-
157
- var last_y = phis_y_left_up
158
-
159
- }
160
-
161
- else if (321 <= default_x && default_x <= 655 && -15 <= default_y && default_y <= 330){
162
-
163
- var phis_x_right_up = Random.randint(-1,-4)
164
-
165
- var phis_y_right_up = Math.sqrt(25 - phis_x_right_up^2)
166
-
167
- var last_x = phis_x_right_up
168
-
169
- var last_y = phis_y_right_up
170
-
171
- }
172
-
173
- else if (-15 <= default_x && default_x <= 320 && 331 <= default_y && default_y <= 975){
174
-
175
- var phis_y_left_down = Random.randint(-1,-4)
176
-
177
- var phis_x_left_down = Math.sqrt(25 - phis_y_left_down^2)
178
-
179
- var last_x = phis_x_left_down
180
-
181
- var last_y = phis_y_left_down
182
-
183
- }
184
-
185
- else if(321 <= default_x && default_x <= 655 && 331 <= default_y && default_y <= 975){
186
-
187
- var phis_x_right_down = Random.randint(-1,-4)
188
-
189
- var kali_k = Math.sqrt(25 - phis_x_right_down^2)
190
-
191
- var phis_y_right_down = kali_k * -1
192
-
193
- var last_x = phis_x_right_down
194
-
195
- var last_y = phis_y_right_down
196
-
197
- }
198
-
199
- shape.physical.force(last_x , last_y);
200
-
201
- if(shape.hitTestElement(sprite)){
202
-
203
- var self = this;
204
-
205
- self.exit();
206
-
207
- }
208
-
209
-
210
-
211
- }
212
-
213
- kali++;
214
-
215
- }
216
-
217
- }
218
-
219
- }
220
-
221
-
222
-
223
- });
224
-
225
-
226
-
227
- // メイン処理
228
-
229
- phina.main(function() {
230
-
231
- // アプリケーション生成
232
-
233
- var app = GameApp({
234
-
235
- //startLabel: 'main', // メインシーンから開始する
236
-
237
- assets: ASSETS, //loading image
238
-
239
- });
240
-
241
- // アプリケーション実行
242
-
243
- app.run();
244
-
245
- });
246
-
247
-
248
-
249
- </script>
250
-
251
- </head>
252
-
253
- <body>
254
-
255
-
256
-
257
- </body>
258
-
259
- </html>
260
-
261
- ```
262
-
263
- https://qiita.com/alkn203/items/bca3222f6b409382fe20#%E5%BD%93%E3%81%9F%E3%82%8A%E5%88%A4%E5%AE%9A%E7%B7%A8
264
-
265
- このサイトを参考にphina.jsライブラリを使用し、上記のコードで四方八方から向かってくる正方形をよけてスコアを稼ぐ避けげーを作ろうと思っているのですが、100行目の
266
-
267
- ```javascript
268
-
269
- if(shape.hitTestElement(sprite)){
270
-
271
- var self = this;
272
-
273
- self.exit();
274
-
275
- }
276
-
277
- ```
278
-
279
- これらを追加するとコンソール上に”ReferenceError: sprite is not defined”(spriteが定義されていない)と表示されてしまい、うまくいきません。上記のコードを除くと正常に動作します。
280
-
281
- initプロパティでspriteは定義しているように見えるのですが、何が問題なのでしょうか?
282
-
283
- 対処法をご教示いただきたいです。よろしくお願いします。
284
-
285
-
286
-
287
- ### 環境
288
-
289
- OS: windows10
290
-
291
- ブラウザ: firefox
1
+ testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()testElemntCount()

2

element

2020/03/02 00:21

投稿

exif-u
exif-u

スコア4

test CHANGED
@@ -1 +1 @@
1
- phina.jsで当たり判定を検出できない
1
+ phina.jsライブラリで当たり判定を検出できない
test CHANGED
File without changes

1

追記

2020/03/01 14:05

投稿

exif-u
exif-u

スコア4

test CHANGED
File without changes
test CHANGED
@@ -260,9 +260,9 @@
260
260
 
261
261
  ```
262
262
 
263
-
263
+ https://qiita.com/alkn203/items/bca3222f6b409382fe20#%E5%BD%93%E3%81%9F%E3%82%8A%E5%88%A4%E5%AE%9A%E7%B7%A8
264
-
264
+
265
- phina.jsライブラリを使用し、上記のコードで四方八方から向かってくる正方形をよけてスコアを稼ぐ避けげーを作ろうと思っているのですが、100行目の
265
+ このサイトを参考にphina.jsライブラリを使用し、上記のコードで四方八方から向かってくる正方形をよけてスコアを稼ぐ避けげーを作ろうと思っているのですが、100行目の
266
266
 
267
267
  ```javascript
268
268