⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draw.cpp

📁 一个平面RPG的游戏demo,使用directx
💻 CPP
字号:
#include "RpgMain.h"

void Line(int x1,int y1,int x2,int y2,HDC dc)
{
    MoveToEx (dc, x1, y1, 0);
    LineTo (dc, x2, y2);
}

void DrawBox(int x1,int y1,int width,int height,int style)
{
	MakeRect(0,60-30*style,10,70-30*style);
	lpDDSOver->BltFast(x1,y1,lpDDSBox,&r,SrcKey);
	MakeRect(13,60-30*style,23,70-30*style);
	lpDDSOver->BltFast(x1+width-10,y1,lpDDSBox,&r,SrcKey);
	MakeRect(0,80-30*style,10,90-30*style);
	lpDDSOver->BltFast(x1,y1+height-10,lpDDSBox,&r,SrcKey);
	MakeRect(13,80-30*style,23,90-30*style);
	lpDDSOver->BltFast(x1+width-10,y1+height-10,lpDDSBox,&r,SrcKey);
	HDC dc;
	lpDDSOver->GetDC(&dc);
	HPEN Red_Pen=CreatePen(PS_SOLID,0,RGB(255,0,0));
	SelectObject(dc,Red_Pen);
	Line(x1+10,y1,x1+width-10,y1,dc);
	Line(x1+10,y1+height-1,x1+width-10,y1+height-1,dc);
	Line(x1,y1+10,x1,y1+height-10,dc);
	Line(x1+width-1,y1+6,x1+width-1,y1+height-6,dc);
	if (style==2)
	{
		Line(x1+10,y1+4,x1+width-10,y1+4,dc);
		Line(x1+10,y1+height-5,x1+width-10,y1+height-5,dc);
		Line(x1+4,y1+10,x1+4,y1+height-10,dc);
		Line(x1+width-5,y1+10,x1+width-5,y1+height-10,dc);
	}
	lpDDSOver->ReleaseDC(dc);
}

void DrawRGBBox(int x1,int y1,int width,int height,int style,int color)
{
	MakeRect(25*color,60-30*style,10+25*color,70-30*style);
	lpDDSOver->BltFast(x1,y1,lpDDSBox,&r,SrcKey);
	MakeRect(13+25*color,60-30*style,23+25*color,70-30*style);
	lpDDSOver->BltFast(x1+width-10,y1,lpDDSBox,&r,SrcKey);
	MakeRect(25*color,80-30*style,10+25*color,90-30*style);
	lpDDSOver->BltFast(x1,y1+height-10,lpDDSBox,&r,SrcKey);
	MakeRect(13+25*color,80-30*style,23+25*color,90-30*style);
	lpDDSOver->BltFast(x1+width-10,y1+height-10,lpDDSBox,&r,SrcKey);
	HDC dc;
	lpDDSOver->GetDC(&dc);
	int x;
	if (color==0)
		x=RGB(255,0,0);
	if (color==1)
		x=RGB(25,255,25);
	if (color==2)
		x=RGB(0,0,255);
	HPEN Pen=CreatePen(PS_SOLID,0,x);
	SelectObject(dc,Pen);
	Line(x1+10,y1,x1+width-10,y1,dc);
	Line(x1+10,y1+height-1,x1+width-10,y1+height-1,dc);
	Line(x1,y1+10,x1,y1+height-10,dc);
	Line(x1+width-1,y1+6,x1+width-1,y1+height-6,dc);
	if (style==2)
	{
		Line(x1+10,y1+4,x1+width-10,y1+4,dc);
		Line(x1+10,y1+height-5,x1+width-10,y1+height-5,dc);
		Line(x1+4,y1+10,x1+4,y1+height-10,dc);
		Line(x1+width-5,y1+10,x1+width-5,y1+height-10,dc);
	}
	lpDDSOver->ReleaseDC(dc);
}

void Print(char words[255],int x,int y)
{
	HDC dc;
	lpDDSOver->GetDC(&dc);
	SetBkMode(dc, TRANSPARENT);
	SetTextColor(dc, RGB(255,255,255));
	TextOut(dc, x, y , words, strlen(words));
	lpDDSOver->ReleaseDC(dc);
}

⌨️ 快捷键说明

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