今天更新了整个玩耍界面,学会了如何通过二维纹理载入图片。

最终界面如下:

下面的十个框框,左边五个是技能栏,右边五个是道具。这俩要等到整合之后才能体现。

实现方法:

 

 

将一张由我们美工画好的界面图加载到程序中并用OpenGL画出。

通过OpenGL的二维纹理加载画出。

在init中加载图片:

//加载用户界面
    p1.load_UI(ATLLoadTexture("res/hp.png"));

这个load_UI()函数是这样的:

void Player::load_UI(int i)
{
    uiid = i;
}

就是传一个id到Player中。

Player中的绘制UI界面函数又新加了一块:

glEnable(GL_BLEND);                     //设置背景可透明
glEnable(GL_TEXTURE_2D);                 // 启用二维纹理
glBindTexture(GL_TEXTURE_2D, uiid);         //绑定纹理

glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex2f(x - 1, y - 1);
glTexCoord2f(0, 1); glVertex2f(x - 1, y + 1);
glTexCoord2f(1, 1); glVertex2f(x + 1, y + 1);
glTexCoord2f(1, 0); glVertex2f(x + 1, y - 1);
glEnd();

glDisable(GL_TEXTURE_2D);
glDisable(GL_BLEND);

然后根据框框的位置,改了头像、血条、经验条等位置参数。

posted on 2016-07-05 20:13  Dmmuistirci  阅读(242)  评论(0)    收藏  举报