generated from sigonasr2/CPlusPlusProjectTemplate
parent
cb485e6336
commit
e6fe560810
Binary file not shown.
Binary file not shown.
@ -1,42 +1,35 @@ |
|||||||
#include "object.h" |
#include "object.h" |
||||||
#include "layers.h" |
|
||||||
#include "defines.h" |
|
||||||
|
|
||||||
extern std::vector<Object*> OBJECTS; |
extern std::vector<Object*> OBJECTS; |
||||||
|
|
||||||
bool Object::Collision(vd2d pos){ |
|
||||||
GAME->SetDrawTarget(layer::COLLISION); |
|
||||||
Pixel collisionData = GAME->GetDrawTarget()->GetPixel((int)pos.x-cameraPos.x,(int)pos.y-cameraPos.y); |
|
||||||
return collisionData!=MAGENTA; |
|
||||||
} |
|
||||||
void Object::Move(vd2d move) { |
void Object::Move(vd2d move) { |
||||||
if (move.y==0) { |
if (move.y==0) { |
||||||
pos+=move; |
pos+=move; |
||||||
return; |
return; |
||||||
} else { |
} else { |
||||||
if (move.y<0) { |
if (move.y<0) { |
||||||
while (objArrElement>0&&OBJECTS[objArrElement-1]->pos.y+OBJECTS[objArrElement-1]->originPoint.y>pos.y+originPoint.y+move.y) { |
while (objArrElement>0&&OBJECTS[objArrElement-1]->pos.y+OBJECTS[objArrElement-1]->originPoint.y>pos.y+originPoint.y+move.y) { |
||||||
//printf("%p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str());
|
//printf("%p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str());
|
||||||
OBJECTS[objArrElement]=OBJECTS[objArrElement-1]; |
OBJECTS[objArrElement]=OBJECTS[objArrElement-1]; |
||||||
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str());
|
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str());
|
||||||
OBJECTS[objArrElement-1]=this; |
OBJECTS[objArrElement-1]=this; |
||||||
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str());
|
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str());
|
||||||
OBJECTS[objArrElement]->objArrElement=objArrElement; |
OBJECTS[objArrElement]->objArrElement=objArrElement; |
||||||
//printf(" %p(%s)(%d)<->%p(%s)(%d)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement]->objArrElement,OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str(),objArrElement-1);
|
//printf(" %p(%s)(%d)<->%p(%s)(%d)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement]->objArrElement,OBJECTS[objArrElement-1],OBJECTS[objArrElement-1]->name.c_str(),objArrElement-1);
|
||||||
objArrElement--; |
objArrElement--; |
||||||
} |
} |
||||||
} else { |
} else { |
||||||
while (objArrElement<OBJECTS.size()-1&&OBJECTS[objArrElement+1]->pos.y+OBJECTS[objArrElement+1]->originPoint.y<pos.y+originPoint.y+move.y) { |
while (objArrElement<OBJECTS.size()-1&&OBJECTS[objArrElement+1]->pos.y+OBJECTS[objArrElement+1]->originPoint.y<pos.y+originPoint.y+move.y) { |
||||||
//printf("%p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str());
|
//printf("%p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str());
|
||||||
OBJECTS[objArrElement]=OBJECTS[objArrElement+1]; |
OBJECTS[objArrElement]=OBJECTS[objArrElement+1]; |
||||||
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str());
|
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str());
|
||||||
OBJECTS[objArrElement+1]=this; |
OBJECTS[objArrElement+1]=this; |
||||||
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str());
|
//printf(" %p(%s)<->%p(%s)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str());
|
||||||
OBJECTS[objArrElement]->objArrElement=objArrElement; |
OBJECTS[objArrElement]->objArrElement=objArrElement; |
||||||
//printf(" %p(%s)(%d)<->%p(%s)(%d)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement]->objArrElement,OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str(),objArrElement+1);
|
//printf(" %p(%s)(%d)<->%p(%s)(%d)\n",OBJECTS[objArrElement],OBJECTS[objArrElement]->name.c_str(),OBJECTS[objArrElement]->objArrElement,OBJECTS[objArrElement+1],OBJECTS[objArrElement+1]->name.c_str(),objArrElement+1);
|
||||||
objArrElement++; |
objArrElement++; |
||||||
} |
} |
||||||
} |
} |
||||||
pos+=move; |
pos+=move; |
||||||
} |
} |
||||||
} |
} |
Loading…
Reference in new issue