},
canMoveTo: function(x, y){
//\82·\82×\82Ä\82Ì\83I\83u\83W\83F\83N\83g\82É\91Î\82µ\82Ä(x, y)\82É\82 \82é\82Æ\82«\82Ì\8e©\95ª\82Ì\8fÕ\93Ë\8fó\91Ô\82ð\92²\82×\82é\81B
- var retv = false;
+ var retv = true;
var d = this.ownerStage.stageObjectLinearList;
for(var i = 0, i_max = d.length; i < i_max; i++){
var f = d[i];
//\8fÕ\93Ë\90æf\82ª\8fÕ\93Ë\94»\92è\96³\8e\8b\82¾\82Á\82½\82ç\81A\8fÕ\93Ë\82Í\82µ\82È\82¢
} else{
//\8fÕ\93Ë\82µ\82½
- retv = true;
+ retv = false;
//break;
}
}
var ly = y - sy;
//\88Ú\93®\8b\97\97£\82ð\82Ç\82¿\82ç\82©\88ê\8e²\82Å\82Í\82©\82é
var ct = Math.max(Math.abs(lx), Math.abs(ly));
- if(ct < 2){
- ct = 1
- var dx = lx;
- var dy = ly;
- } else{
- //\82»\82ê\82ð\8aî\8f\80\82É\82µ\82½\88ê\92P\88Ê\93\96\82½\82è\82Ì\88Ú\93®\97Ê
- var dx = lx / ct;
- var dy = ly / ct;
- }
//\88Ú\93®\82µ\82È\82¢\8e²\82ª\82 \82é\82©\82Ç\82¤\82©\81i\8d\82\91¬\89»\81H\81j
- var fx = (dx == 0);
- var fy = (dy == 0);
+ var fx = (lx == 0);
+ var fy = (ly == 0);
//\8eÀ\8dÛ\82É\88Ú\93®\82·\82é\90æ\82Ì\8dÀ\95W
var ex = sx;
var ey = sy;
+ //ct\82ð\8aî\8f\80\82É\82µ\82½\88ê\92P\88Ê\93\96\82½\82è\82Ì\88Ú\93®\97Ê
+ var dx = lx / ct;
+ var dy = ly / ct;
//\92i\8d·\82ð\8fæ\82è\89z\82¦\82é\8cW\90\94
var c = Math.abs(this.caterpillar * dx);
- //
+
if(!(fx && fy)){
for(var i = 0; i < ct; i++){
- if(!fx && this.canMoveTo(ex + dx, ey)){
+ if(!fx && !this.canMoveTo(ex + dx, ey)){
//caterpillar\82Ì\8d\82\82³\82ð\91«\82µ\82Ä\88Ú\93®\82Å\82«\82é\82©\8e\8e\82µ\82Ä\82Ý\82é
- if(c != 0 && this.canMoveTo(ex + dx, ey - c)){
- //\82»\82ê\82Å\82àx\8e²\82ª\8fÕ\93Ë\82µ\82½\82Ì\82Å\88Ú\93®\82ð\92â\8e~\82µ\83t\83\89\83O\82ð\83Z\83b\83g\82·\82é
- if(i == 0 && this.canMoveTo(ex, ey)){
- //\91S\82\90i\82ñ\82Å\82¢\82È\82¢\82Ì\82É\8fÕ\93Ë\82µ\82Ä\82¢\82½\82ç\81A\82»\82ê\82Í\82ß\82è\8d\9e\82ñ\82Å\82¢\82é\82Ì\82Å\96ß\82·
+ if(c != 0 && !this.canMoveTo(ex + dx, ey - c)){
+ //\82»\82ê\82Å\82àx\8e²\82ª\8fÕ\93Ë\82µ\82½\82Ì\82Å\88Ú\93®\82ð\92â\8e~\82µ\83t\83\89\83O\82ð\83Z\83b\83g\82·\82é
+ fx = true;
+ this.movingSpeed.x = 0;
+ //bug fix???
ex -= dx;
- }
- fx = true;
- this.movingSpeed.x = 0;
} else{
//\8d\82\82³\82ð\95Ï\82¦\82ê\82Î\88Ú\93®\82Å\82«\82é\82Ì\82Å\8d\82\82³\82ð\95Ï\82¦\82Ä\8cp\91±\82·\82é
ey -= c;
}
}
- if(!fy && this.canMoveTo(ex, ey + dy)){
- //y\8e²\82ª\8fÕ\93Ë\82µ\82½\82Ì\82Å\88Ú\93®\82ð\92â\8e~\82µ\83t\83\89\83O\82ð\83Z\83b\83g\82·\82é
- if(i == 0 && this.canMoveTo(ex, ey)){
- //\91S\82\90i\82ñ\82Å\82¢\82È\82¢\82Ì\82É\8fÕ\93Ë\82µ\82Ä\82¢\82½\82ç\81A\82»\82ê\82Í\82ß\82è\8d\9e\82ñ\82Å\82¢\82é\82Ì\82Å\96ß\82·
- ey -= dy;
- }
+ if(!fy && !this.canMoveTo(ex, ey + dy)){
+ //y\8e²\82ª\8fÕ\93Ë\82µ\82½\82Ì\82Å\88Ú\93®\82ð\92â\8e~\82µ\83t\83\89\83O\82ð\83Z\83b\83g\82·\82é\81B
fy = true;
this.movingSpeed.y = 0;
}
}
}
//\88Ú\93®
- this.origin.x = ex;
- this.origin.y = ey;
+ if(this.canMoveTo(ex, ey)){
+ this.origin.x = ex;
+ this.origin.y = ey;
+ } else{
+ console.log("n");
+ }
for(var i in this.collectedItems){
var item = this.collectedItems[i];