//\8e\9f\82É\8ae\8eíStageObject\82Ìdraw\82ð\8eÀ\8ds
for(i = 0, li = this.stageObjectList[sp].length; i < li; i++){
var stgobj = this.stageObjectList[sp][i];
- //console.log(this.stageObjectList[sp]);
- stgobj.draw(stgobj.origin.x - x, stgobj.origin.y - y);
+ var px = stgobj.origin.x - x, py = stgobj.origin.y - y;
+ if(px > -stgobj.size.x && py > -stgobj.size.y && px < 640 && py < 480)
+ {
+ stgobj.draw(px, py);
+ }
}
}
},
}
return true;
},
- collideJudge: function(obj, x, y){
+ collideJudge: function(obj, x, y, items){
+ var gainItem = items instanceof Array;
return !this.eachStageObject(function(f){
if(!f.isPhantom && f !== obj)
{
- if(obj.isCollided(f, x, y)) return false;
+ if(obj.isCollided(f, x, y))
+ {
+ if(f.isPhantom)
+ {
+ if(gainItem)
+ {
+ for(var titem in items)
+ {
+ if(titem == f) return true;
+ }
+ items.push(f);
+ }
+ }else
+ {
+ return false;
+ }
+ }
}
return true;
});
},
- moveTo : function(obj, x, y){
- //\96{\97\88\82Í\82±\82±\82É\93\96\82½\82è\94»\92è\8f\88\97\9d\82ð\93ü\82ê\82é
+ moveTo : function(obj, x, y, gotItems){
+ //\93\96\82½\82è\94»\92è\8f\88\97\9d
var sx = obj.origin.x, sy = obj.origin.y;
var lx = x - sx, ly = y - sy;
if(lx == 0 && ly == 0) return;
//\89¼\82É\82¨\82¢\82Ä\82Ý\82é\8dÀ\95W
//var ex = fx ? rx : sx + dx * i, ey = fy ? ry : sy + dy * i;
- if(!fx && this.collideJudge(obj, ex + dx, ey))
+ if(!fx && this.collideJudge(obj, ex + dx, ey, gotItems))
{
fx = true;
collideDirection |= (dx > 0 ? 1 : 2);
}
- if(!fy && this.collideJudge(obj, ex, ey + dy))
+ if(!fy && this.collideJudge(obj, ex, ey + dy, gotItems))
{
fy = true;
collideDirection |= (dy > 0 ? 4 : 8);