Mercurial > hg > Members > e085711
comparison webGL/dandy/resources/collision.js @ 12:61febc94fa62
upload dandy4.html,new xmlFile
author | NOBUYASU Oshiro |
---|---|
date | Thu, 15 Jul 2010 07:08:37 +0900 |
parents | 680b5b0cd1e4 |
children | 4684e849866c |
comparison
equal
deleted
inserted
replaced
11:680b5b0cd1e4 | 12:61febc94fa62 |
---|---|
11 } | 11 } |
12 | 12 |
13 | 13 |
14 atari = function collision(p) | 14 atari = function collision(p) |
15 { | 15 { |
16 var i1=0; | |
17 var i2=0; | |
18 var n = 0; | |
16 var ex = p.x; | 19 var ex = p.x; |
17 var ey = p.y; | 20 var ey = p.y; |
18 var charano = p.charano; | 21 var charano = p.charano; |
19 var w = p.w; | 22 var w = p.w; |
20 var h = p.h; | 23 var h = p.h; |
40 */ | 43 */ |
41 | 44 |
42 return p; | 45 return p; |
43 } | 46 } |
44 | 47 |
48 /*玉レベル1の当たり判定-------------------------*/ | |
45 // for (var i1 = 0; tama_lv1[i1]; i1++) { | 49 // for (var i1 = 0; tama_lv1[i1]; i1++) { |
46 for (var i1 = 0; i1 < tama_lv1_end + 1; i1++) { | 50 for ( i1 = 0; i1 < tama_lv1_end + 1; i1++) { |
47 if ((tama_lv1[i1].x + w/2 > ex ) | 51 if ((tama_lv1[i1].x + w/2 > ex ) |
48 && ( ex + w > tama_lv1[i1].x + bullets[1].w) | 52 && ( ex + w > tama_lv1[i1].x + bullets[1].w) |
49 && (tama_lv1[i1].y + jiki.w > ey) && (tama_lv1[i1].y < ey + h) | 53 && (tama_lv1[i1].y + jiki.w > ey) && (tama_lv1[i1].y < ey + h) |
50 && (tama_lv1[i1].r != -1)) { | 54 && (tama_lv1[i1].r != -1)) { |
51 tama_lv1[i1].r = -1; | 55 tama_lv1[i1].r = -1; |
52 p.vit -= TAMALV1P; | 56 p.vit -= TAMALV1P; |
53 // infg.stg += 4; | 57 infg.stg += 4; |
54 if (p.vit <= 0) { | 58 if (p.vit <= 0) { |
55 // infg.stg += 4; | 59 infg.stg += 4; |
56 Bom(p.x, p.y); | 60 Bom(p.x, p.y); |
57 // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); | 61 // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); |
58 p.state = delete_chara; | 62 p.state = delete_chara; |
59 p.collision= noaction; | 63 p.collision= noaction; |
60 p.flag = false; | 64 p.flag = false; |
65 && (tama_lv1[i1].y + jiki.w > ey) && (tama_lv1[i1].y < ey +h) | 69 && (tama_lv1[i1].y + jiki.w > ey) && (tama_lv1[i1].y < ey +h) |
66 && (tama_lv1[i1].l != -1)) { | 70 && (tama_lv1[i1].l != -1)) { |
67 tama_lv1[i1].l = -1; | 71 tama_lv1[i1].l = -1; |
68 p.vit -= TAMALV1P; | 72 p.vit -= TAMALV1P; |
69 | 73 |
70 // infg.stg++; | 74 infg.stg++; |
71 if (p.vit <= 0) { | 75 if (p.vit <= 0) { |
72 // infg.stg += 4; | 76 infg.stg += 4; |
73 Bom(p.x, p.y); | 77 Bom(p.x, p.y); |
74 // enemycount += (p.score * ((infg.stg / 128) + infg_lvel + 1)); | 78 // enemycount += (p.score * ((infg.stg / 128) + infg_lvel + 1)); |
75 p.state = delete_chara; | 79 p.state = delete_chara; |
76 p.collision = noaction; | 80 p.collision = noaction; |
77 p.flag = false; | 81 p.flag = false; |
78 return p; | 82 return p; |
79 } | 83 } |
80 // p.flag = false; | |
81 // return p; | |
82 } | 84 } |
83 } | 85 } |
86 | |
87 /*玉レベル2--------------------------------*/ | |
88 for(i1 = 0; i1 < tama_lv2_end + 1; i1++) { | |
89 if((tama_lv2[i1].x + 10 + bullets[4].w/2 > ex - w/2 ) | |
90 && (ex + w/2 > tama_lv2[i1].x + 10 - bullets[4].w/2) | |
91 && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) | |
92 && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) | |
93 && (tama_lv2[i1].rr != -1)) { | |
94 tama_lv2[i1].rr = -1; | |
95 p.vit -= TAMALV2P; | |
96 infg.stg++; | |
97 if(p.vit <= 0) { | |
98 infg.stg += 4; | |
99 Bom(p.x, p.y); | |
100 // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); | |
101 p.state = delete_chara; | |
102 p.collision = noaction; | |
103 p.f = false; | |
104 return p; | |
105 } | |
106 } | |
107 | |
108 if((tama_lv2[i1].x + 5 + bullets[4].w/2 > ex - w/2 ) | |
109 && (ex + w/2 > tama_lv2[i1].x + 5 - bullets[4].w/2) | |
110 && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) | |
111 && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) | |
112 && (tama_lv2[i1].sr != -1)) { | |
113 tama_lv2[i1].sr = -1; | |
114 p.vit -= TAMALV2P; | |
115 infg.stg++; | |
116 if(p.vit <= 0) { | |
117 infg.stg += 4; | |
118 Bom(p.x, p.y); | |
119 // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); | |
120 p.state = delete_chara; | |
121 p.collision = noaction; | |
122 p.f = false; | |
123 return p; | |
124 } | |
125 } | |
126 if((tama_lv2[i1].x - 10 + bullets[4].w/2 > ex - w/2 ) | |
127 && (ex + w/2 > tama_lv2[i1].x - 10 - bullets[4].w/2) | |
128 && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) | |
129 && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) | |
130 && (tama_lv2[i1].ll != -1)) { | |
131 tama_lv2[i1].ll = -1; | |
132 p.vit -= TAMALV2P; | |
133 infg.stg++; | |
134 if(p.vit <= 0) { | |
135 infg.stg += 4; | |
136 Bom(p.x, p.y); | |
137 // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); | |
138 p.state = delete_chara; | |
139 p.collision = noaction; | |
140 p.f = false; | |
141 return p; | |
142 } | |
143 } | |
144 | |
145 if((tama_lv2[i1].x - 5 + bullets[4].w/2 > ex - w/2 ) | |
146 && (ex + w/2 > tama_lv2[i1].x - 5 - bullets[4].w/2) | |
147 && (tama_lv2[i1].y + bullets[4].h/2 > ey - h/2 ) | |
148 && (tama_lv2[i1].y - bullets[4].h/2 < ey + h/2) | |
149 && (tama_lv2[i1].sl != -1)) { | |
150 tama_lv2[i1].sl = -1; | |
151 p.vit -= TAMALV2P; | |
152 infg.stg++; | |
153 if(p.vit <= 0) { | |
154 infg.stg += 4; | |
155 Bom(p.x, p.y); | |
156 // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); | |
157 p.state = delete_chara; | |
158 p.collision = noaction; | |
159 p.f = false; | |
160 return p; | |
161 } | |
162 } | |
163 } | |
164 | |
165 | |
166 | |
167 | |
168 /*レーザーレベル1------------------------*/ | |
169 for(i1 = 0; i1 < laser_lv1_end + 1; i1++) { | |
170 n = laser_lv1[i1].r * 128 / 4096; | |
171 // var nx = laser_lv1[i1].w + laser_lv1[i1].scale; | |
172 // var ny = laser_lv1[i1].h + laser_lv1[i1].scale; | |
173 | |
174 if ((laser_lv1[i1].x + n*d_x > ex) && (ex + w > laser_lv1[i1].x) | |
175 && (laser_lv1[i1].y + n*d_y > ey) && (laser_lv1[i1].y < ey + h) | |
176 && (laser_lv1[i1].r != -1)) { | |
177 laser_lv1[i1].r = -1; | |
178 laser_lv1[i1].y = -1; | |
179 p.vit -= LASERLV1P; | |
180 infg.stg++; | |
181 if(p.vit <= 0) { | |
182 infg.stg += 4; | |
183 Bom(p.x, p.y); | |
184 // enemycount += (p.score * ((infg.stg / 128) + infg_level + 1)); | |
185 p.state = delete_chara; | |
186 p.collision = noaction; | |
187 p.f = false; | |
188 return 1; | |
189 } | |
190 | |
191 } | |
192 } | |
193 | |
84 | 194 |
85 } | 195 } |
86 | 196 |
87 | 197 |