<1>第一步,得到总体的大.exe

1.复制cocos2d-x-2.2文件下的Release.win32文件侠到桌面。

2.将项目下的Resources里的资源拷贝到Release.win32文件中面。

3.除exe文件、资源和dll文件外,其他文件所有删除以节省空间。

4,将.exe, dll,资源文件所有复制到桌面上

5,选中全部要打包的文件-->右键-->加入到压缩文件-->创建自解压格式压缩文件(X)

6,高级-->自解压选项

7,更新   更新方式:解压并更新文件  覆盖方式:覆盖全部文件(L)

文本和图标 从文件载入自解压文件图标(I)-->浏览到程序图标

模式  暂时模式:解包到暂时文件(T) 安静模式:所有隐藏

设置  设置程序-->提取后执行(F)-->写入要执行的exe文件名称字

8,确定-->得到打包后的一个终于的PC版本号.exe文件

<2>第二步,打包安装包

原文地址:

url=Np4iXjfLfw9pK7Yu1dTk-7Tj6qNivYMy4zClXdDIP_JjdZsj_pzhmK_tWkr_osRb5us2gZi3RTBC-YmkiKeTAVewqlNm6qkNXEYev3C0VXy&qq-pf-to=pcqq.c2c">http://wenku.baidu.com/link?

url=Np4iXjfLfw9pK7Yu1dTk-7Tj6qNivYMy4zClXdDIP_JjdZsj_pzhmK_tWkr_osRb5us2gZi3RTBC-YmkiKeTAVewqlNm6qkNXEYev3C0VXy&qq-pf-to=pcqq.c2c

1,解决方式-->右键-->新建项目

2,其他项目类型-->Visual Studio Installer

3,把总体的.exe文件,文件icon, 并搜索msiexec.exe放到应用程序目录

4,在用户的"程序"菜单 加入目录,建立.exe快捷键 和 卸载快捷键 到用户的"程序"菜单并改动图标

5,建立.exe快捷键 到用户桌面,薚改动图标

6,左键项目,提取:ProductCode, 并改动作者

7,在卸载快捷键Arguments 写上:/x ProductCode, 比方:/x {2ED1741A-3CFC-4C62-97E8-9496F42CF725}

8,得到.msi

<3>.msi和.exe差别

有些软件的正本里面同一时候含有.msi程序和Setup.exe程序。比如Symantec AntiVirusclient的软件里就含有Symantec AntiVirus.MSI和Setup.exe两个安装程序。

普通情况下随便用其一安装Symantec AntiVirusclient。结果是一样的。可是假设我们的操作系统(安装环境)没有安装某些程序,则.MSI有可能不能执行。这时就要用Setup.exe来安装Symantec AntiVirusclient。

Setup.exe能够利用Setup.ini来先安装执行.MSI须要的软件,建造一个较全的安装环境,最后再调用.MSI程序。所以当你确定你的安装环境不缺少什么应该安装的程序时,能够直接执行.MSI来安装软件的副本。对于Symantec
AntiVirusclient软件来说,Setup.exe的一个主要功能就是先安装WindowsInstaller.exe最新版,由于全部的.MSI程序都须要系统里装有WindowsInstaller.exe才干正常执行。

<4>PC 版本号分辨率适配

<1>惬意的
#include "main.h"
#include "AppDelegate.h"
#include "CCEGLView.h"
#include "Tool.h"
USING_NS_CC; int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine); // create the application instance
AppDelegate app;
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
eglView->setFullScreen(true);
eglView->setViewName(a2u("我是掼蛋王").c_str());
//eglView->setFrameSize(1024, 768); //小屏幕
//eglView->setFrameSize(1920, 1080); //全屏 //屏幕大小设置
int width = GetSystemMetrics(SM_CXSCREEN);
int height = GetSystemMetrics(SM_CYSCREEN); float cx = width/(1920/1024.0);
float cy = height/(1080/768.0); eglView->setFrameSize(cx, cy); return CCApplication::sharedApplication()->run();
}
<2>不太好
#include "main.h"
#include "AppDelegate.h"
#include "CCEGLView.h"
#include "Tool.h"
USING_NS_CC; int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine); // create the application instance
AppDelegate app;
CCEGLView* eglView = CCEGLView::sharedOpenGLView();
eglView->setFullScreen(true);
eglView->setViewName(a2u("我是掼蛋王").c_str());
//eglView->setFrameSize(1024, 768); //小屏幕
//eglView->setFrameSize(1920, 1080); //全屏 //屏幕大小设置
int width = GetSystemMetrics(SM_CXSCREEN);
int height = GetSystemMetrics(SM_CYSCREEN); float cx = 0, cy = 0; float wh = 1024/768.0; //屏幕宽高比
float scalex = width/1024.0; //原因就在于这里不是等比例变化
float scaley = height/768.0;
if(scalex >= scaley)
{
cx = width/scalex;
cy = cx/wh;
}
else
{
cy = height/scaley;
cx = cy*wh;
} eglView->setFrameSize(cx, cy); return CCApplication::sharedApplication()->run();
}

打包Cocos2d-xproject为PC项目的更多相关文章

  1. cocos2d导入iOS原生项目

    最近公司最新发下任务让融合一个cocos2dx写的游戏项目融合进现有项目,当看到要求时内心瞬间无数羊驼奔腾.------ 虽说内心是拒绝的,但是任务已经派发就必须要完成啊.所以在网上搜了大量的融入教程 ...

  2. 手把手教你如何使用Cocos2d Console 进行html5项目发布

    手把手教你如何使用Cocos2d Console 进行html5项目发布   1.首先需要先安装Cocos2d Console运行需要的工具. 详情参见 这篇文章 http://www.cocoach ...

  3. Bug2020011601,在ssh项目的applicaitonContext.xml中,少了一个双引号,打包成功(没报错),项目运行才发现

    在ssh项目的applicaitonContext.xml中,少了一个双引号,打包成功(没报错),项目运行才发现. 加上少的双引号,解决了.

  4. 基于animate.css动画库的全屏滚动小插件,适用于vue.js(移动端、pc)项目

    功能简介 基于animate.css动画库的全屏滚动,适用于vue.js(移动端.pc)项目. 安装 npm install vue-animate-fullpage --save 使用 main.j ...

  5. Swift完整项目打包Framework,嵌入OC项目使用

    场景说明: -之前做的App,使用Swift框架语言,混合编程,内涵少部分OC代码. -需要App整体功能打包成静态库,完整移植到另一个App使用,该App使用OC. -所以涉及到一个语言互转的处理, ...

  6. springboot打包成war后部署项目出现异常 LifecycleException: Failed to start component

    完整异常:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Sta ...

  7. 【idea】idea重新打包依赖了父级项目的子级项目,父级项目代码改变,但是子级项目打包依旧是老的代码 问题解决

    最简单的方法: 就是单独打包父级项目,然后替换本地maven仓库中的父级项目的jar,然后重新打包子级项目,就可以了.

  8. iOS打包framework - Swift完整项目打包Framework,嵌入OC项目使用

    场景说明: -之前做的App,使用Swift框架语言,混合编程,内含少部分OC代码. -需要App整体功能打包成静态库,完整移植到另一个App使用,该App使用OC. -所以涉及到一个语言互转的处理, ...

  9. r.js压缩打包(require + backbone)项目开发文件

    最近项目稳定了一点,之前一直没空关注的开发文件压缩打包问题也有时间来解决了 AMD模块化开发中的代码压缩打包工具——r.js 环境搭建基于nodejs:用于AMD模块化开发中的项目文件压缩打包,不是A ...

随机推荐

  1. 和java面试不得不说的故事

    一直都没有想到,可以有机会可以面试他人,很感谢现在的公司,给我不少的机会可以尝试从不同方面尝试一些工作,在入职现公司之前也作为面试者参加过不少面试,不过还好,面试通过率都还好,大部分是待遇谈不拢.现在 ...

  2. iOS开发——MJExtension复杂数组用法

    最近在看MJExtension的Demo,发现了一个plist文件直接转数组模型的方法.以前研究过但是浅尝辄止没有解决,这几天有时间,好好看了看,找到了解决办法,与大家分享. 如果大家的项目中有这种嵌 ...

  3. identifier is too long 异常处理

    修改了oracle中的表. 报 identifier is too long 错误 我执行的脚本是: ---备份create table MDT_AGREEMENTMANAGEMENT_2018080 ...

  4. 使用.Net中的WeakDictionary — ConditionalWeakTable

    有的时候,我们需要给某些数据添加一些附加信息,一种常用的做法是使用一个Dictionary在填充这些附加信息如: var data = new Data();    var tag = new Tag ...

  5. [转] Matlab与C++混合编程(依赖OpenCV)

    作者 zouxy09@qq.com,原文 Matlab与C++混合编程(依赖OpenCV) 之前在运行别人论文的代码的时候,经常有遇到Matlab与C++混合编程的影子.实际上就是通过Matlab的M ...

  6. LNMP第二部分nginx、php配置

    内容概要:一. nginx.confvim /usr/local/nginx/conf/nginx.conf //清空原来的配置,加入如下内容:user nobody nobody;worker_pr ...

  7. 使用spice连接kvm guest主机

    spice技术已经出来很久了,其是优于VNC的一种远程桌面协议,之所以这里记录下,是由于某些加密视频文件(如以vpy结尾的超时代视频加密),会识别主机的特征吗,一旦主机重启后这些视频又没法查看了,所以 ...

  8. SQL Server 2016 Community Technology Preview 3.3

    https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2016 SQL Server 2016 Community Techno ...

  9. Centos 7 进入单用户模式图文详解

    由于昨晚做了一个很傻X的事情,所以有幸进入了CentOS 7 的单用户模式. CentOS 7 在进入单用户的时候和6.x做了很多的改变, 下面让我们来看看如何进入单用户模式. 如何进入CentOS ...

  10. C语言中的union使用方法

    union共用声明和共用一变量定义: "联合"是一种特殊的类,也是一种构造类型的数据结构.在一个"联合"内能够定义多种不同的数据类型. 一个被说明为该" ...