• 软件工程迭代开发第六篇


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

    最终界面如下:

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

    实现方法:

    将一张由我们美工画好的界面图加载到程序中并用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);

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

  • 相关阅读:
    AngularJs $location 和 $window
    AngularJS——自定义服务详解(factory、service、provider)
    angularAMD+requireJs
    angular ui-router时要使用html5Mode=true
    CSS3的calc()使用
    React Ajax this.IsMounted() is not a function
    css有用的代码片段
    8908
    454
    234
  • 原文地址:https://www.cnblogs.com/Dmmuistirci/p/5644906.html
Copyright © 2020-2023  润新知