游戏开发工具之纹理打包器-1.创建界面及连接控件.
2013-05-16 15:43
363 查看
如果你是一个有经验的开发者,你会知道一个好的工具是多么重要,它不但能大大缩短你的开发周期,还能提高你的游戏性能。更多的废话就不说了,相信你比我更清楚。
直接上图跟代码!
我们暂时给工具定义有如下功能!
1. 能导入.jpg和.png以及.gif的图片进行合并
2. 选择指定文件夹,并遍历文件夹所有我们支持的图片格式,把它们添加到书控件里
3. 编辑结束后输出.jpg\.png\.gif图片。以及.plist文件或者.json文件。
4. 文件支持2进制编码。
5. 编辑区支持自动排列或者手动排列图片(自动排列要能组合成面积最小的图片)
6. 输出时显示输出进度,完成后弹出完成信息。
居然目标有了,那我们就可以开工了
首先建立一个FMC Dialog工程,名字叫ImgsTool,然后使用可视化编辑工具把我们所需要的控件拖到dialog中,完成后如下图,红色区域是我们要绘制图片的区域,我们需要自己编写一个控件来实现它,所以暂时先空着。
窗口布局好之后我们还要给checkbox,comboBox,treeCtrl等控件做连接,因为我们要在程序中操作他们。
在Dlg.h文件里添加变量
然后在Dlg.cpp文件里的DoDataExchange(CDataExchange*pDX)函数添加连接代码
DDX_Control()函数的第二个参数是控件的ID,你可以在属性面板里找到它。第三个是你刚刚定义的变量!
这样,我的连接就完成了。
或者你也可以使用ClassWizard的Member Variables进行设置。
接下来初始化这些控件,在OnInitDialog()函数添加如下代码。
设置导入默认导入所有格式的图片,以及输出格式的默认值。
运行后你会发现界面有明显的变换了。
这都是些比较简单的东西!先写到这里,下一次我们要开始打开文件并把文件显示到tree控件上去。
直接上图跟代码!
我们暂时给工具定义有如下功能!
1. 能导入.jpg和.png以及.gif的图片进行合并
2. 选择指定文件夹,并遍历文件夹所有我们支持的图片格式,把它们添加到书控件里
3. 编辑结束后输出.jpg\.png\.gif图片。以及.plist文件或者.json文件。
4. 文件支持2进制编码。
5. 编辑区支持自动排列或者手动排列图片(自动排列要能组合成面积最小的图片)
6. 输出时显示输出进度,完成后弹出完成信息。
居然目标有了,那我们就可以开工了
首先建立一个FMC Dialog工程,名字叫ImgsTool,然后使用可视化编辑工具把我们所需要的控件拖到dialog中,完成后如下图,红色区域是我们要绘制图片的区域,我们需要自己编写一个控件来实现它,所以暂时先空着。
窗口布局好之后我们还要给checkbox,comboBox,treeCtrl等控件做连接,因为我们要在程序中操作他们。
在Dlg.h文件里添加变量
CButton m_ckBJpg; CButton m_ckBPng; CButton m_ckBGif; CButton m_ckBBinary; CComboBox m_cbbImg; CComboBox m_cbbFile; CProgressCtrl m_progres; CButton m_export; CTreeCtrl m_fileTree;
然后在Dlg.cpp文件里的DoDataExchange(CDataExchange*pDX)函数添加连接代码
DDX_Control(pDX,IDC_CHECK1,m_ckBJpg); DDX_Control(pDX,IDC_CHECK2, m_ckBPng); DDX_Control(pDX,IDC_CHECK3, m_ckBGif); DDX_Control(pDX,IDC_CHECK4, m_ckBBinary); DDX_Control(pDX,IDC_COMBO1, m_cbbImg); DDX_Control(pDX,IDC_COMBO2, m_cbbFile); DDX_Control(pDX,IDC_PROGRESS1, m_progres); DDX_Control(pDX,IDC_BUTTON1, m_export); DDX_Control(pDX,IDC_TREE1, m_fileTree);
DDX_Control()函数的第二个参数是控件的ID,你可以在属性面板里找到它。第三个是你刚刚定义的变量!
这样,我的连接就完成了。
或者你也可以使用ClassWizard的Member Variables进行设置。
接下来初始化这些控件,在OnInitDialog()函数添加如下代码。
this->m_ckBJpg.SetCheck(true); this->m_ckBPng.SetCheck(true); this->m_ckBGif.SetCheck(true); this->m_cbbImg.AddString(L".gif"); this->m_cbbImg.AddString(L".jpg"); this->m_cbbImg.AddString(L".png"); this->m_cbbFile.AddString(L".json"); this->m_cbbFile.AddString(L".plist"); this->m_cbbImg.SetCurSel(2); this->m_cbbFile.SetCurSel(1);
设置导入默认导入所有格式的图片,以及输出格式的默认值。
运行后你会发现界面有明显的变换了。
这都是些比较简单的东西!先写到这里,下一次我们要开始打开文件并把文件显示到tree控件上去。
相关文章推荐
- 游戏开发工具之纹理打包器-2.打开文件夹遍历指定格式的图片,以及显示到tree控件上
- 游戏开发工具之纹理打包器-3.使用GDI+绘图
- 游戏开发工具之纹理打包器-3.使用GDI+绘图
- Unity3D+免费工具开发2D游戏之四:创建计分界面
- XNA Game Studio是一套有着强大功能和简单界面的游戏制作平台,游戏开发商和游戏玩家都可以使用这套工具开发针对Windows XP以及Xbox360的游戏,XNA Game Studio分为两种版本,一种是面向初学者的EXPRESS版本,还有一种
- lae界面开发工具入门之介绍十--<如何打包资源文件?>
- 【Android游戏开发之十】(优化处理)详细剖析Android Traceview 效率检视工具!分析程序运行速度!并讲解两种创建SDcard方式!
- lae界面开发工具入门之介绍十二--<iOS系统如何编译打包?>
- lae界面开发工具入门之介绍十一--<安卓系统如何编译打包?>
- Python游戏引擎开发(二):创建窗口以及重绘界面
- iphone游戏开发之cocos2d ( 九 )使用Zwoptex创建纹理图册
- 【Android游戏开发之十】(优化处理)详细剖析Android Traceview 效率检视工具!分析程序运行速度!并讲解两种创建SDcard方式!
- 【Android游戏开发之十】(优化处理)详细剖析Android Traceview效率检视工具,分析程序运行速度!并讲解两种创建SDcard方式!
- 一、创建Assetbundle 在unity3d开发的游戏中,无论模型,音频,还是图片等,我们都做成Prefab,然后打包成Assetbundle,方便我们后面的使用,来达到资源的更新。
- 【Android游戏开发之十】(优化处理)详细剖析Android Traceview 效率检视工具!分析程序运行速度!并讲解两种创建SDcard方式!
- Phonegap(cordova)创建项目,并结合eclipse开发工具进行打包生成apk包
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战02 主界面创建
- Unity3D+免费工具开发2D游戏之二:制作关卡1的界面
- 【Android游戏开发之十】(优化处理)详细剖析Android Traceview效率检视工具,分析程序运行速度!并讲解两种创建SDcard方式!