示例#1
0
int FinishLine::DrawAndHit(Player* player,bool left){
    sf2d_draw_texture(this->texture,this->x-player->GetX()+PLAYER_X,this->y);
    char flag=0;
    flag = CollisionDetect(player);
    if(flag!=0){
        return FINISH;
    }
    return 0;
}
示例#2
0
文件: enemy.c 项目: FratStar/Scratch
void MinorThink(Entity *self)
{
	self->s.x += self->v.x;
	self->s.y += self->v.y;
	if(self->v.x > -2)self->v.x--;
	if(self->s.y < 0)
	{
		self->s.y = 0;
		self->v.y += 15;
	}
	if(self->s.y > screen->h - 64)
	{
		self->s.y = screen->h - 24;
		self->v.y -= 15;
	}
	if((self->health <= 0) &&(self->state != ST_DYING))
	{
		self->state = ST_DYING;
		self->frame = 1;

	}
	else if((ThePlayer->health > 0) && (self->state != ST_DYING) && (CollisionDetect(self,ThePlayer)))
	{
		ThePlayer->health = 0;
		self->state = ST_DYING;
		self->frame = 3;

	}
	if(self->s.x < - 32)
	{
		self->shown = 0;
		FreeEntity(self);
	}
	switch(self->state)
	{
	case ST_DYING:
		if(self->frame >= 3)
		{
			FreeEntity(self);
		}
		self->frame++;
		break;
	case ST_IDLE:
		self->frame++;
		if(self->frame >= 2)
			self->frame = 0;
		break;
	}
}