博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QLGame 2D Engine编写环境搭建
阅读量:5231 次
发布时间:2019-06-14

本文共 2005 字,大约阅读时间需要 6 分钟。

                                                                     QLGame 2D Engine编写 (win7环境搭建)       

                 广州麒麟网络工作室,计划制作一款2d game engine,基于opengl(es)平台,暂时支持android,以后考虑支持linux,ios!

          开发环境:

                     os:win7 64bit

                     design tool:vs2012 eclipse ndk-r9d

          开发原理:

                     采用c++开发,可以方便的移植到android,ios平台!目前正在一步一步的开发之中,源码将放到github上!

          开发讲解:

                    首先在win平台下,进行opengl编程,然后相应的在android平台下用opengles进行实现!

          开发目的

                    目前的cocos2d-x已经很优秀了,写这个引擎的目的,想更加的了解如何构建,而且更加易用,尤其是对C++有兴趣的朋友,可以与我一起开发!

           我的qq:1357098586 欢迎大家与我联系一起开发!

                 

                    win平台下环境搭建:

                    1.win平台下的采用glut库3.7.6版本开发,解压后有如下文件,glut.h,glut32.dll,glut32.lib,虽然文件名包含着32,但是在64位机器上也是可以运行的!

                     

                     详解:c++中需要使用头文件glut.h,链接文件glut32.lib,以及等程序打包后出来exe,需要把glut32.dll放在exe的同一个目录下,否则会运行失败!

                     在vs中进行如下配置即可,在配置属性的C/C++ -》 常规 -》附加库目录,附加glut的文件夹即可

                     同样的,在链接器-》常规-》附加库目录,附加glut的文件夹即可!

              2.在vs2012中,新建一个空工程,然后在解决方案资源管理中,单击源文件,添加一个c++文件,然后清除其中的代码,输入如下代码:

                

#include 
//显示回调函数void renderScreen(void){ //把整个窗口清理为当前清理颜色:南瓜橙 glClear(GL_COLOR_BUFFER_BIT); glFlush();}int main(int argc, char* argv[]){ //初始化glut glutInit(&argc,argv); //单缓冲区 glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA); //创建窗口,窗口名字为WindowDemo glutCreateWindow("WindowDemo"); //设置窗口大小 glutReshapeWindow(800,600); //设置显示回调函数 glutDisplayFunc(renderScreen); glutMainLoop(); return 0;}

        详解:#include <glut.h>  在c++中 包含头文件有两种方式,一种是尖括号,一种是双引号,这两张方式决定了,告诉编译器将在什么地方查找头文件,

如果头文件是用双引号括起来的,则会首先从包含此指令的源文件的所在的目录进行查找,如果找不到,在到标准库目录进行搜索!

            如果是尖括号括起来的,则只会从标准库目录进行搜索,这个库目录包括,我们在项目的属性中设置的c++包含目录!

          1. 包含了#include <glut.h>就意味可以使用了glut.h头文件中定义的类以及方法了!也就是我们的opengl方法

          2.int main(int argc,char* argv[])是入口文件,一个项目中,只允许有一个入口函数,它决定了程序从哪儿开始执行!

          3.glutInit()开始初始化

          4.glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA);//设置显示模式

          5.glutCreateWindow()创建窗口

          6.glutReshapeWindow()设置窗口大小

          7.glutDisplayFunc(renderScreen);渲染函数 renderScreen是一个方法,这个在每一帧都会被调用

          8.glutMainLoop();进入消息循环

          9.return 0;结束消息循环,程序正常退出!

         运行程序,首先会弹出cmd窗口,然后弹出一个windows窗口程序,但是cmd窗口是不必要的,该怎么办呢?

         在项目属性页中, 点击链接器-》系统-》子系统  设置为窗口 (/SUBSYSTEM:WINDOWS)

         点击链接器-》高级-》入口点 输入:mainCRTStartup

         然后编译运行,就只有一个windows窗口程序了,不过是黑色的!

        

        续:由于2d  gameengine,是需要显示在plane上的,下一节将采用在plane上显示一个贴图,进行平移旋转缩放,本文有出错的地方欢迎指正!

 

        

                

                    

 

 

 

         

 

转载于:https://www.cnblogs.com/alongu3d/p/4339801.html

你可能感兴趣的文章
P1192-台阶问题
查看>>
ACM模板——康托展开
查看>>
P1025-数的划分
查看>>
P1305-新二叉树
查看>>
MySQL增强版命令行客户端连接工具(mycli)
查看>>
IIS如何配置可以下载APK、IPA文件
查看>>
gulp-rev-collector自定义修改rev-manifest.json后替换不成功的问题分析
查看>>
zepto的tap事件的点透问题的几种解决方案
查看>>
诡异的localhost无法连接
查看>>
Flash反编译-跟我学Action Script Viewer 2013(2)
查看>>
字符编码转换
查看>>
Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架...
查看>>
记录 !ajax 传递数组的坑
查看>>
Java 学习资料整理
查看>>
spring事务探索
查看>>
SAXParser 解析器和 XMLEventReader(读取XML文档)
查看>>
windows下的时间同步间隔
查看>>
Nginx+Tomcat动静分离及Nginx优化
查看>>
集腋成裘-13-git使用-02进阶篇
查看>>
步步为营-17-FileStream-文件加密/解密
查看>>