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

📄 dialog.c

📁 Cat Tom 兄弟的力作.代码是纯C写的
💻 C
字号:
/******************************************/
/*               dialog.c                 */
/*                                        */
/*           水晶之约中的对话框           */
/*                                        */
/*             编译环境DJGPP              */
/*                                        */
/*        编译需allegro V4.1.13支持       */
/*                                        */
/*           Cat Tom 12.5.2003            */
/******************************************/


#define TALK_YES 1
#define TALK_NO  0

/******************************************************************/

struct
{
 unsigned char max_num;
 BITMAP *photo[20];
}Photo_Lib={0};


struct
{
 Animate talk_arrow;      /*说话时闪动的光标*/
 unsigned char photo_num; /*照片序号*/
 char string[300];        /*和NPC说的话*/

 char talk_flag;
}TalkBox={0};

/******************************************************************/

/*加载角色照片*/
void LoadPhoto(char *filename)
{
 Photo_Lib.photo[Photo_Lib.max_num]=LoadBMP(filename);
 Photo_Lib.max_num++;
}


/******************************************************************/

/*画一个对话框的函数*/
void dialogbox(int x,int y,int width,int height)
{
 int i;

 alphabar(x,y,width,height,BLUE);

 for(i=0;i<5;i++)
   rectangle(x+i,y+i,x+width-i,y+height-i,ORANGE);
}


/*对话模块*/
void RPG_Talk()
{
 if(TalkBox.talk_flag!=TALK_YES)return;  /*如果非谈话状态则返回*/

 if(TalkBox.photo_num!=60)
 {
  dialogbox(31,335,576,128);
  if(TalkBox.photo_num<50)PutImage(38,135,Photo_Lib.photo[TalkBox.photo_num]);
  boxputs16b(TalkBox.string,48,348,62,10,BLACK);
  boxputs16b(TalkBox.string,46,346,62,10,WHITE);

  showanimate(310,440,&TalkBox.talk_arrow);
 }

 /*如果按了X键则结束本句对话并将脚本设为等待*/
 if(key[KEY_X])
 {
  PressKey(KEY_X);
  TalkBox.talk_flag=TALK_NO;
  RPG_Script.script_flag=SCRIPT_WAIT;
 }
}

⌨️ 快捷键说明

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