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