【Cocos2dx】Windows平台下Cocos2dx 2.x的下载、安装、配置,打造自己的Helloworld
Cocos2dx就不废话介绍了, 很火的游戏引擎。关键是它开源。能够免费下载、学习、开发。不用搞这么多激活的东西。
以下以Cocos2dx 2.x为例说明这个平台的一些基本东西。尽管如今Cocos2dx早已去到3.x的稳定版本号,但之所以选用Cocos2dx 2.x版本号。主要是这方面的资料比較多,本来搞Cocos2dx的人就不多了,搞了也没几个人写写编程记录,再去毫无资料仅仅有一堆难以看懂的官方文档的Cocos2dx 3.x,基本上等于瞎整。
首先,因为这引擎在Windows的主流平台是通过大家熟悉的C++写出来的。所以Cocos2dx 2.x的开发,你首先要准备Visual Studio 2010以上的版本号。假设你选用Cocos2dx 3.x还要支持准备Visual Studio 2012以上的版本号。已经不支持Visual Studio 2008了。这就没办法了,怪怪下载一个完整安装。网上一搜一堆。不说了。
之后,因为Cocos2dx 2.x在当今站点的最后一版2.2.6不再提供InstallWizardForVS2010.js这鬼东西。须要用python语言创建新的project,因此你能够參看我之前的《【Python】Windows版本号的Python开发环境的配置,Helloworld,Python中文问题。输入输出、条件、循环、数组、类》(点击打开链接)先配好Python2.x的环境。
然后,你才在Cocos2dx的中文官网(点击打开链接)。例如以下图,拉到最以下。下载Cocos2dx 2.x版本号。
详细下载地址为:http://54.192.159.100/cocos2d-x-2.2.6.zip?fid=D2qKo-*f7vaAbUj7fijGQlgs5hzdkV4YAAAAAOeOX4E0-gk5fRKd*Y-Bb8j7lCvn&mid=666&threshold=150&tid=5D3FD9855047216E67D27C85E859FC2D&srcid=119&verno=1
下载之后,得到一个cocos2d-x-2.2.6.zip,解压。这个解压位置就是你以后cocos2dx的开发环境、project的所在文件夹。和php是一样的,不好迁移。请小心选择。
在你的cocos2dx的解压文件夹找到build-win32.bat这东西,双击执行。
经历例如以下的一个漫长的编译过程:
搞好之后,会出现例如以下的一个界面,cocos2dx官方提供的一大堆样例,有兴趣看看之后,能够直接关闭。
至此。Cocos2dx的配置完毕。
以下创建一个属于我们自己的Helloworld。不要用官方的样例。根本看不出什么端倪。
利用命令行进入.\cocos2d-x-2.2.6\tools\project-creator这个目录。利用python命令,例如以下图,创建一个工程。
create_project.py -project 你的工程目录名称 -package 包名 -language 开发语言(基本上为cpp,不排除有大神精通肥猪流的Lua,也不建议使用javascript开发!)
在创建的过程中,可能会有如上图的报错,不用管,由于你创建的MyDemo工程已经成功出如今.\cocos2d-x-2.2.6\projects目录了,进入.\cocos2d-x-2.2.6\projects\MyDemo\proj.win32打开HelloCpp.sln,開始利用Cocos2dx引擎(框架)在Windows上开发游戏。
你能够观察到在.\cocos2d-x-2.2.6\projects\MyDemo。出现proj.android、proj.ios等平台的目录。这里意味着。你能够在这些平台相同利用Cocos2dx引擎(框架)进行开发。
不是说一个平台开发,多平台共同编译……
打开HelloCpp.sln之后,等待Visual Studio 2010载入一大堆外部库之后,你能够看到例如以下的文件结构:
首先。你要明确一个概念。Cocos2dx中最简单的Helloworld,是由一个叫Helloworld的场景、然后在这个Helloworld场景上放上一个Helloworld字符串所组成的。
官方初始的Helloworld还在Helloworld这个场景中放上背景图片、关闭button等杂七杂八的东西。让Helloworld文件看起来比較复杂。
我们先从上图的main.cpp与AppDelegate.cpp入手,先设置好程序的一些基本东西。
首先是main.cpp。这东西的主函数就5行代码,将其关于程序标题与窗体尺寸的18、19行进行改动。例如以下:
#include "main.h"
#include "AppDelegate.h"
#include "CCEGLView.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->setViewName("HelloWorld");//改动程序执行的标题为Helloworld
eglView->setFrameSize(1024, 768);//修成程序执行的尺寸为1024x768
return CCApplication::sharedApplication()->run();
}
其余代码看不懂临时先不要管,就像你当初学C语言,不必在乎#include<stdio.h>与void main(){}是什么鬼,你首先要会改printf()中的内容。关于引入、函数这些东西。回头再来学。
之后,还没有改完,对AppDelegate.cpp进行改动,把第22行的帧数调试信息关了。第25行的帧数有兴趣能够改下。只是改了也看不出效果。改动例如以下:
#include "AppDelegate.h"
#include "HelloWorldScene.h" USING_NS_CC; AppDelegate::AppDelegate() { } AppDelegate::~AppDelegate()
{
} bool AppDelegate::applicationDidFinishLaunching() {
// initialize director
CCDirector* pDirector = CCDirector::sharedDirector();
CCEGLView* pEGLView = CCEGLView::sharedOpenGLView(); pDirector->setOpenGLView(pEGLView); // turn on display FPS
pDirector->setDisplayStats(false);//关闭调试信息 // set FPS. the default value is 1.0/60 if you don't call this
pDirector->setAnimationInterval(1.0 / 60);//这里是设置游戏执行的帧数锁定为60,一般牛B机器、牛B的游戏都是锁这个帧数,30帧是低配 // create a scene. it's an autorelease object
CCScene *pScene = HelloWorld::scene(); // run
pDirector->runWithScene(pScene); return true;
} // This function will be called when the app is inactive. When comes a phone call,it's be invoked too
void AppDelegate::applicationDidEnterBackground() {
CCDirector::sharedDirector()->stopAnimation(); // if you use SimpleAudioEngine, it must be pause
// SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
} // this function will be called when the app is active again
void AppDelegate::applicationWillEnterForeground() {
CCDirector::sharedDirector()->startAnimation(); // if you use SimpleAudioEngine, it must resume here
// SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
}
其余那些什么初始化代码之类。看不懂,先不要管,也不要改。
之后,对整个程序的核心,管理HelloWorld这个场景的HelloWorldScene.cpp进行改动。放上属于我们自己的东西,去掉官方的东西。主要对HelloWorldScene.cpp中的初始化參数bool HelloWorld::init(){}进行改动。其余不要动。整个HelloWorldScene.cpp改动例如以下:
#include "HelloWorldScene.h" USING_NS_CC; CCScene* HelloWorld::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::create(); // 'layer' is an autorelease object
HelloWorld *layer = HelloWorld::create(); // add layer as a child to scene
scene->addChild(layer); // return the scene
return scene;
} // on "init" you need to initialize your instance
bool HelloWorld::init()
{
//保留已经存在的初始化部分。不要进行改动,開始
if ( !CCLayer::init() )
{
return false;
} CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
//保留已经存在的初始化部分。不要进行改动。结束 CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 96);//声明一个标签文本Helloworld,其字体为Arial。字号为96
pLabel->setPosition(ccp(origin.x + visibleSize.width/2,//设置标签文本的位置ccp是必须的。visibleSize.width/2为屏幕的中央。前面的origin.x是必须加上,用于多平台固定好位置
origin.y + visibleSize.height/2));//y部分同理
this->addChild(pLabel, 1);//把这个标签文本Helloworld放到场景中。层叠关系为1,相当于css中的z-index,这个数字越大,越在上面
return true;
} void HelloWorld::menuCloseCallback(CCObject* pSender)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) || (CC_TARGET_PLATFORM == CC_PLATFORM_WP8)
CCMessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");
#else
CCDirector::sharedDirector()->end();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
#endif
}
利用Ctrl+F5执行。或者点击上方的执行button则看到例如以下效果:
假设在编译的时候,遇到例如以下图的“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”错误:
那不关Cocos2dx的问题,是因为电脑中有多个Visual Studio冲突。或者之前版本号的Visual Studio没有卸载干净。
当前系统中存在两个cvtres.exe文件,版本号不同就会有问题了。
我们让VS2010直接使用系统的cvtres.exe程序。
重命名或删除:(vs2010安装的位置).\VC\bin\cvtres.exe
如图,我就把cvtres.exe搞成_cvtres.exe完事。
最后总结一下,Cocos2dx的Helloworld比起SSH算是简单多了。代码清晰。关键是注意好版本号,正如php5.5之后不支持windows2003这种问题,你必须搞清晰Visual Studio 2010仅仅能支持Cocos2dx 2.x之类的。就是安装可能有些繁琐,毕竟python环境的安装对于非常多人来说比較陌生。Visual Studio 2010的安装的耗时实在是无力吐槽了,再加上Cocos2dx 2.x的编译过程,就是比較久。最主要网上很多蛋疼的资料就不说了……
【Cocos2dx】Windows平台下Cocos2dx 2.x的下载、安装、配置,打造自己的Helloworld的更多相关文章
- Windows平台下Python2.7中pip的安装方法
本文允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 文件下载 需要下载并运行ez_se ...
- [转]Windows平台下Makefile学习笔记
Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译 ...
- Windows平台下Git服务器搭建
第一步:下载Java,下载地址:http://www.java.com/zh_CN/ 第二步:安装Java.安装步骤不再详述. 第三步:配置Java环境变量. 右键”计算机” => ”属性” = ...
- Windows平台下PHP开发环境的配置
Windows平台下PHP开发环境的配置 一.基本环境 1.Windows XP 32位 2.Apache 2.2.25,下载地址:http://mirror.bit.edu.cn/apache/ht ...
- Mac平台与Windows平台下AndroidStudio增量升级
Android Studio增量升级什么情况下使用最合适呢? 比如现在的as版本是2.2版本,而你的as版本2.0版本,这个时候点Check For Updates就没有反应了,因为你已经2个有版本没 ...
- Windows 平台下Git 服务器搭建
由于项目中一直在使用git作为版本管理,自己对git的理解.使用都还不是怎么的熟悉,所以准备深入了解一下git及一些常用命令的使用,于是干脆把服务端架上,通过自己的PC作为服务端同时作为客户端的角色进 ...
- windows平台下VLC2.0.5编译
windows平台下VLC2.0.5编译说明 时隔一年多,又要搞流媒体了,不过这次是要做流媒体服务器. 暂时决定使用vlc+ffmpeg+live555,虽然听有些前辈说这个组合的性能较差,只能作为学 ...
- 【转】Windows平台下Git服务器搭建
Windows平台下Git服务器搭建 Posted on 2015-05-18 21:29 阿祥当码农 阅读(7637) 评论(0) 编辑 收藏 该文章转自:http://www.codeceo.co ...
- Windows平台下的node.js安装
Windows平台下的node.js安装 直接去nodejs的官网http://nodejs.org/上下载nodejs安装程序,双击安装就可以了 测试安装是否成功: 在命令行输入 node –v 应 ...
随机推荐
- 【转】Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例
概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMa ...
- Less文件的建立
1.打开DreamWeaver 2.选择 新建 Less 文件名为.less,保存于Less文件夹中 3.声明文档头:@charset "utf-8"; 4.将Less ...
- XSS攻击前端需注意
XSS攻击,在WEB安全领域已经是老生常谈的问题,每每提到安全问题,也会首当其冲拿出来说事. 针对XSS攻击的解决方案,也非常成熟,主要就是:对用户输入信息的地方进行转义处理,当然我这里要提起的一个点 ...
- dotnetnuke 添加用户属性 Profile
if (DotNetNuke.Entities.Profile.ProfileController.GetPropertyDefinitionByName(this.PortalId, "Q ...
- Linux内存压力测试-memtester工具
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- listcontrol 加combobox实现
头文件 #pragma once#include "D:\Work\山东项目\StandardizedDrawing\sdUtils\CSGrid.h"#include " ...
- Linux内核系统调用处理过程
原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 学号末三位:168 下载并编译Linux5.0 xz -d linux-.tar.xz . ...
- Quartz.NET 定时任务使用
class Program { static void Main(string[] args) { StartJob(); Console.ReadKey(); } static void Start ...
- 计蒜客 劫富济贫 (Trie树)
链接 : Here! 思路 : Trie树裸题, 由开始给出的名字建一棵字典树, 然后每次查询一下抢♂劫的人名是否在字典树中, 复杂度也不清楚是多少, 反正是没给出 $M$ 的范围, 开始时用 $ha ...
- Linux - redis-cluster搭建
目录 Linux - redis-cluster搭建 Linux - redis-cluster搭建 1.准备6个数据库节点,也就是6个redis实例,也就是6个配置文件 配置文件如下 redis-7 ...