zoukankan      html  css  js  c++  java
  • 打包Cocos2d-xproject为PC项目

    <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>第二步,打包安装包

    原文地址:

    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();  
    }





  • 相关阅读:
    linux系统中将一列数据转换为若干列数据(列的顺序不变)
    linux系统中将矩形数据转换为一行、一列的形式
    linux系统中实现文本转置。
    linux shell 如何将多列数据变为一行数据
    linux系统中如何将一行数据变为一列
    bash: unlzma: command not found...
    linux系统中实现对行的批量替换
    linux系统中对指定行的字符串进行替换
    linux系统中对指定列的数据中的字符串进行替换
    linux系统中如何将每行特定数目字符后的字符替换为指定字符
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6806278.html
Copyright © 2011-2022 走看看