怎么运行cocos2dx 3.x simulator?
1.simulator的好处是:
快速切换分辨率;F5快速重新启动项目;
这对于脚本语言来说都是很方便快捷的。
2.涉及到显示参数的文件有两个:
①lang,这个是菜单的语言文件,如果没有这个文件的话,则上图的菜单为英文。(这个文件可以在ide-support文件夹找到,但是在3.13中去掉了这个文件夹)
②config.json,这个文件定义了一些分辨率之类的参数,将在下面列出来。
③还有启动参数,也在下面列出来。
3.启动参数(不提供启动参数,将不能正常运行,在windows下可以使用bat文件来提供启动参数进行启动)
具体可以参看ProjectConfig.cpp文件里的parseCommandLine函数实现
①-workdir:工作目录
②-writable-path:写入路径
③-entry:脚本入口文件
④-landscape:是否横屏
⑤-portrait:是否竖屏
⑥-resolution:窗体分辨率
⑦-scale:缩放比例
⑧-write-debug-log:日志路径
⑨-console:是否显示控制台
⑩-position:窗体偏移位置
⑪-debugger:调试器类型
⑫-app-menu:是否显示菜单
⑬-resize-window:窗口大小是否可变
⑭-retina-display:是否retina
⑮-port:没有实现功能
⑯-listen:绑定监听地址
⑰-search-path:资源搜索路径
⑱-first-search-path:首个资源搜索路径
⑲-language-data-path:语言数据路径
在windows下写的运行bat如下(simulator.exe当前目录为工作目录;当前目录下的src和res为资源搜索路径;窗口分辨率1134x750):
@echo off
start simulator.exe -workdir ./ -search-path ./src;./res -resolution 1334x750
exit
4.config.json配置文件
具体可以参看ConfigParser.cpp文件里的readConfig函数实现
①width:设计分辨率的宽
②height:设计分辨率的高
③name:窗口显示的名字
④isLandscape:是否横屏
⑤entry:脚本入口文件
⑥consolePort:控制台监听端口
⑦debugPort:没有实现
⑧uploadPort:文件上传端口
⑨isWindowTop:没有实现
⑩simulator_screen_size数组:菜单按钮显示的分辨率
5.个性化需求:让运行窗口在屏幕中间
①-position可以设置偏移位置,如果屏幕分辨率都一样的话可以设置这个属性,另外一个方法就是增加一个参数。
②增加一个-screen-center参数
在ProjectConfig.h/ProjectConfig.cpp中增加_isInScreenCenter属性(仿照_isResizeWindow属性增加对应的方法)
③ProjectConfig.h增加代码:
④ProjectConfig.cpp增加代码:
读取配置文件中的数据:
⑤在SimulatorWin.cpp中增加代码
Vec2 pos = _project.getWindowOffset();
if (pos.x != && pos.y != )
{
RECT rect;
GetWindowRect(_hwnd, &rect);
if (pos.x < )
pos.x = ;
if (pos.y < )
pos.y = ;
MoveWindow(_hwnd, pos.x, pos.y, rect.right - rect.left, rect.bottom - rect.top, FALSE);
}
//增加的代码
else if (_project.isInScreenCenter()){
RECT rect;
GetWindowRect(_hwnd, &rect);
int screen_x = GetSystemMetrics(SM_CXSCREEN);
int screen_y = GetSystemMetrics(SM_CYSCREEN);
SetWindowPos(_hwnd, HWND_TOP, (screen_x + rect.left - rect.right) / , (screen_y + rect.top - rect.bottom) / , , , SWP_NOSIZE | SWP_NOZORDER);
}
6.个性化需求:增加-console_leftop参数让控制台窗口出现在屏幕左上角的位置
①和上面的代码同理,增加_isConsoleLeftTop属性
②在SimulatorWin.cpp中增加代码
if (_project.isShowConsole())
{
AllocConsole();
_hwndConsole = GetConsoleWindow();
if (_hwndConsole != NULL)
{
ShowWindow(_hwndConsole, SW_SHOW);
BringWindowToTop(_hwndConsole);
freopen("CONOUT$", "wt", stdout);
freopen("CONOUT$", "wt", stderr); HMENU hmenu = GetSystemMenu(_hwndConsole, FALSE);
if (hmenu != NULL)
{
DeleteMenu(hmenu, SC_CLOSE, MF_BYCOMMAND);
} //增加的代码
if (_project.isConsoleLeftTop()){
RECT rect;
GetWindowRect(_hwndConsole, &rect);
MoveWindow(_hwndConsole, , , rect.right - rect.left, rect.bottom - rect.top, FALSE);
}
}
}
怎么运行cocos2dx 3.x simulator?的更多相关文章
- cocos2dx 3.13 simulator的问题
下载新的cocos2dx 3.13,想使用simulator来运行lua项目,结果发现使用vs2013编译不通过. 1. 9>main.cpp(5): error C2146: 语法错误: 缺少 ...
- Xcode 运行cocos2dx弹出内部错误对话框(Internal Error)
cocos2dx未捕获的异常升高.选择"继续"继续运行在一个不一致的状态.选择"崩溃"停止应用和崩溃报告一个错误文件. 莫名其妙,代码没有报错,运行时却弹出(内 ...
- 在linux中使用cmake编译运行cocos2d-x 3.4 projects
原因: 由于不想在真机环境和 ide中调试环境, 只想在linux端进行 调试和运行, 需要使用cmake对现有的游戏进行编译(cocos2dx-lua 3.4) 修改步骤: 1.修改framewor ...
- (已解决)Xcode 运行cocos2dx弹出内部错误对话框(Internal Error)
cocos2dx未捕获的异常升高.选择“继续”继续运行在一个不一致的状态.选择“崩溃”停止应用和崩溃报告一个错误文件. 莫名其妙,代码没有报错,运行时却弹出(内部错误)对话框出来: 再看看崩溃的底层代 ...
- XCode 7 运行 cocos2dx 2.2.6问题小节
终于磕磕绊绊的在模拟器上,成功运行了已有项目. 公司提供的Mac系统,版本炒鸡低.向同事拷贝了OS,和XCode. 安装完成后,将已有的可以在Windows上成功运行Android版本的项目,拷贝到了 ...
- Visual Studio 2013创建并运行Cocos2d-x工程
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.准备: 我们得先把Visual Studio 2013安装好:可以去MSDN官网下载,在安装好 2.安装好vs之后,在cmd(终端)创 ...
- 解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题
解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题 本文的实践来源是参照了两个帖子完成的: http://dis ...
- [Cocos2d-x]Mac下运行HelloCpp For Android
2013年12月22日 一.简介: Mac下运行Cocos2d-x的samples和新建的HelloCocos2dx项目 二.内容: 环境: OS:mac OS X 10.9.1 IDE:Androi ...
- cocos2dx游戏开发——微信打飞机学习笔记(一)——开发准备
一.环境的搭建 1.Windows开发准备: (1)软件下载及安装 •下载Cocos2d-x 最新版本:http://www.cocos2d-x.org/download 或者从Cocos2d-x G ...
随机推荐
- C语言typeof详解
前言: typeof关键字是C语言中的一个新扩展,这个特性在linux内核中应用非常广泛. 一,说明 typeof的参数可以是两种形式:表达式或类型. 1,表达式的的例子: ...
- 【设置】Nginx配置文件具体配置解释
#定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8; #全局错误日志定义类型,[ debug | ...
- linux 加减符号
[root@LocalWeb01 ~]# aa=11[root@LocalWeb01 ~]# bb=22[root@LocalWeb01 ~]# cc=$aa+$bb[root@LocalWeb01 ...
- 匹克定理pick
与POJ1226为例 要知道在一个格点多边形内 知道期内部的点数 Q,边上的点数L,就可以知道他的面积pick定理及 S=Q+L/2-1; 然后 还有边上的点数除了多边形的顶点外,还有一些点该怎么求呢 ...
- 谷歌浏览器 URL无法访问
使用谷歌浏览器老是会崩溃,或者访问的时候发现“URL无法访问”等失败的问题,连淘宝都没法访问,这个让人很恼火, 最后在扩展应用那里搜到个URL的redirect,问题解决了,~~发现没有再出现类似问题 ...
- 【Redis学习之十】Redis集群维护
Redis集群增删节点部署环境 redis-3.0.0 VM虚拟机redhat6.5-x64:192.168.1.201.192.168.1.202.192.168.1.203. ...
- 50个CSS技巧
这里我工作中收集了10个很不错的CSS技巧,你可以用在你的项目上.它可以帮你很好地整理你的元素并让他们看起来蛮酷的.下面开始我们的内容,希望你会喜欢它.下面是我收集的CSS技巧,希望能帮助到你,感觉收 ...
- 在python3下使用OpenCV 显示图像
在Python3下用使用OpenCV比在C,C++里开发不止快捷一点点, 原型开发的时候蛮有用. 这里用的OpenCV 加载图片, 用的imshow画图 # -*- coding: utf-8 -*- ...
- ELK+Kafka学习笔记之搭建ELK+Kafka日志收集系统集群
0x00 概述 关于如何搭建ELK部分,请参考这篇文章,https://www.cnblogs.com/JetpropelledSnake/p/9893566.html. 该篇用户为非root,使用用 ...
- Android 深入理解Activity 页面Intent跳转