烦人的环境终于ok了,改了改文本,换了换图片资源,还是能在手机里运行。ok,关了Eclipse,去vs中看看吧。
虽然是根老骨头了,但还真没怎么用C++,以前接触过点Java的开发框架,估计大差不差。
在VS2012中打开用python命令新建的LazyGame项目。
--------------------
LazyGame
-Classes
-AppDelegate.cpp
-AppDelegate.h
-HelloWorldScene.cpp
-HelloWorldScene.h
-win32
-main.cpp
-main.h
外部依赖类
-------------------
main.cpp应该是入口类
里面定义了窗口的标题eglView->setViewName("LazyGame");
和窗口的大小eglView->setFrameSize(960, 540);
还有AppDelegate的句柄,这个类应该是Cocos2dx主要的控制类。
AppDelegate.cpp主要控制类
里面有三个方法:
applicationDidFinishLaunching();初始化方法,比如Scene的初始化
applicationDidEnterBackground();游戏临时中断的处理
applicationWillEnterForeground();由中断状态再次进入游戏的处理
相关方法:
CCDirector* pDirector = CCDirector::sharedDirector();初始化导演类
pDirector->setDisplayStats(true);显示FPS
pDirector->setAnimationInterval(1.0 / 60);设置刷新率
CCScene *pScene = HelloWorld::scene();初始化舞台
pDirector->runWithScene(pScene);显示当前舞台
再来看下HelloWorldScene.cpp
有scene添加方法、初始化方法、还有按钮回调事件
我感觉HelloWorld应该是一个层,而非舞台。
scene->addChild(layer);加入到舞台中
初始化init()中:
首先调用父类的init
CCDirector::sharedDirector()->getVisibleSize();可视区域大小
CCDirector::sharedDirector()->getVisibleOrigin();可视区域原点坐标
创建一个图片按钮:参数(常态图,按下图,句柄,回调方法)
CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(HelloWorld::menuCloseCallback));
//然后应该是设置位置了
pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 ,
origin.y + pCloseItem->getContentSize().height/2));
看来cocos2dx设置控件时的坐标,是以左下角为原点,并且设置的是item中心点的位置。所以要减去item的宽高。
然后把创建的item加到一个Menu里,
CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
pMenu->setPosition(CCPointZero);然后设置(0,0)点。
this->addChild(pMenu, 1);最后添加到舞台中。
同样的方法加入一个label,同样是创建,设位置,添加
CCLabelTTF* pLabel = CCLabelTTF::create("LazyGame", "Arial", 24);
同样的,再加入一个精灵CCSprie
CCSprite* pSprite = CCSprite::create("HelloWorld.png");
最后是创建按钮MenuItem时,加入的回调方法
void HelloWorld::menuCloseCallback(CCObject* pSender)
CCDirector::sharedDirector()->end();
一个最最原始的Demo就这些东西。骨头还有很多问题没弄明白,和C++还有框架相关的,没关系,一点点来。
常用的快捷键:
Tab 快速完成
Shift + Alt + Enter 全屏
------------------- 飞船起飞--------------------
Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应
Cocos2dx游戏开发系列笔记8:开搞一个射击游戏《战神传说》//就个打飞机的
Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)
Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上
Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》
Cocos2dx游戏开发系列笔记4:怎样新加一个Scene类?
Cocos2dx游戏开发系列笔记3:牛刀小试->忍者飞镖射幽灵的Demo
Cocos2dx游戏开发系列笔记2:一个刚创建的cocos2dx中的demo里都有什么
Cocos2dx游戏开发系列笔记1:一个崭新的开始,cocos2dx2.2+ndkr9+Cygwin
-------------------- 飞船降落--------------------
最后,骨头介绍一下陪在身边的哲哲(右边就是低调的哲哲)
来源:oschina
链接:https://my.oschina.net/u/35376/blog/182667