sprite.cpp

来自「一个RPG游戏的初级演示代码」· C++ 代码 · 共 65 行

CPP
65
字号
#include "Main.h"

Sprite *sprite;

Sprite::Sprite(int x1, int y1)
{
	x=x1;
	y=y1;
	face=0;
	targetX=x1;
	targetY=y1;
	footStatus=-1;
}

void Sprite::Show()
{
	int sm=footStatus;
	if (sm==-1)
		sm=0;
	MakeRect(sm*64,face*64,sm*64+64,face*64+64);
	graph->Blt(288,192,SSprite,SBuffer,SrcKey);
}

void Sprite::MoveTo(int x1,int y1)
{
	int oldface=face;
	int dx,dy;
	dx=x1-x;
	dy=y1-y;
	if ((abs(dx*12)<abs(dy*5)))
		if (dy>0)
			face=7;
		else
			face=6;
	else
	{
		if ((abs(dx*12)>abs(dy*29)))
			if (dx>0)
				face=5;
			else
				face=4;
		else
		{
			if (dx>0)
				if (dy>0)
					face=3;
				else
					face=1;
			else
				if (dy>0)
					face=0;
				else
					face=2;
		}
	}
	targetX=x1;
	targetY=y1;
	if (footStatus==-1)
		footStatus=0; //作移动标记
}

Sprite::~Sprite()
{

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?