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

📄 say.h

📁 这个版本修正了已知的Bug,同时添加了部分函数
💻 H
字号:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

class SAY
{
private:
BITMAP *bmp,*bak,*buf;
public:
void Say(BITMAP *bitmap,char *s,int x,int y,int w,int h,char col);
void Say_bitmap(BITMAP *bitmap,BITMAP *s,int x,int y,int w,int h);
short time;
SAY();
~SAY();
};

SAY::SAY()
{time=50;
bmp=NULL;
bak=NULL;
buf=NULL;
}

SAY::~SAY()
{if(bmp!=NULL)
        destroy_bitmap(bmp);
if(buf!=NULL)
        destroy_bitmap(buf);
if(bak!=NULL)
        destroy_bitmap(bak);
}

void SAY::Say(BITMAP *bitmap,char *s,int x,int y,int w,int h,char col)
{
int len=strlen(s)*16;
        bmp=create_bitmap(w,h);
        bak=create_bitmap(w,h);
        buf=create_bitmap(w,h);
         textout(bmp,s,0,20,col);
         blit(bak,screen,0,0,x,y,w,h);
       for(int i=0;i<=h;i++)
        {
        blit(buf,bak,0,0,0,0,w,h);
        masked_blit(buf,bmp,0,0,0,i,w,h-i);
        blit(bitmap,buf,x,y,0,0,w,h);
        delay(time);
        }
}

void SAY::Say_bitmap(BITMAP *bitmap,BITMAP *s,int x,int y,int w,int h)
{
bak=create_bitmap(w,h+1);
buf=create_bitmap(w,h+1);

blit(bak,screen,0,0,x,y,w,h);
for(int i=0;i<=h;i++)
{
blit(buf,bak,0,0,0,0,w,h);
masked_blit(buf,s,0,0,0,i,w,h-i);
blit(bitmap,buf,x,y,0,0,w,h);
delay(time);
}
}

⌨️ 快捷键说明

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