implementation
{$R *.DFM}
procedure TPlayerSprite.DoCollision(Sprite: TSprite; var Done: Boolean); begin Done:=False; {已经侦测到碰撞,不再重复检测碰撞} {检测游戏人物是否与其它精灵发生了碰撞,此处可以扩展为对话等情节} end;
procedure TPlayerSprite.DoMove(MoveCount: Integer); var l,r,d,u: Boolean; absX,absY: Integer; {游戏人物的当前位置与目的地的绝对距离} begin inherited DoMove(MoveCount); MoveCount:=Trunc(MoveCount*1.5); l:=false; r:=false; u:=false; d:=false;
if (Trunc(X)-MainForm.AnchorX>0) then l:=true else r:=true; if (Trunc(Y)-MainForm.AnchorY>0) then u:=true else d:=true;
absX:=abs(Trunc(X)-MainForm.AnchorX); absY:=abs(Trunc(Y)-MainForm.AnchorY);
if absX<4 then begin l:=false; r:=false; end; if absY<4 then begin u:=false; d:=false; end; {如果绝对距离已经小于四个象素,则认为已经到达目的地}作者:郭磊
上一页 [1] [2]
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18