|
|
void game::setobj(int q)//对象显示
{ CString cc;
int x=man[q].xix-scrx-man[q].w/2; //x当前位置
int y=man[q].xiy-scry-man[q].h; //y当前位置
if(inscreer(q))//在显示区?
{if(man[q].lb==0) {cc="人";}
if(man[q].lb==1) {cc="兽";}
if(man[q].lb==2) {cc="景";}
if(getpic(cc,man[q].p)==FALSE) return;
if(man[q].lb!=2)//调角色的偏移位置
{int x0=0,y0=0;
if(man[q].lb==0) {x0=rbufx[man[q].p];y0=rbufy[man[q].p];}
if(man[q].lb==1) {x0=sbufx[man[q].p];y0=sbufy[man[q].p];}
if(man[q].fw>4) x0=w-x0;//是东北、东、东南方位
x=man[q].xix-scrx-x0;
y=man[q].xiy-scry-y0;
}
TransparentBlt2(BkDC1,x,y,w,h,MemDC,0,0,w,h,RGB(255,255,255));//透明显示
mans++;
}
///////////////////////////////////////////////////////////////////////
if(man[q].lb==2) return;
else manmove(q); //活动对象的移动
man[q].p++; //下一动作
if(man[q].p>=man[q].m1) {bianfw(q);}//本动作完成,进行方位转换
}
如下:
x=man[q].xix-scrx-x0;
y=man[q].xiy-scry-y0; |
|