主要是看了偶尔e网事童鞋提出的一篇,主要是改下代码风格,coco2d-x设计木有风格,是copy的,所以努力走自己的风格。
就是sence里面加layer,运行sence渲染layer。
最讨厌那么多static函数了,这根objected programming有毛关系?
果断修改:
bool AppDelegate::applicationDidFinishLaunching() {
// initialize director
auto director = Director::getInstance();
auto eglView = EGLView::getInstance();
director->setOpenGLView(eglView);
// turn on display FPS
director->setDisplayStats(true);
// set FPS. the default value is 1.0/60 if you don't call this
director->setAnimationInterval(1.0 / 60);
// create a scene. it's an autorelease object
auto scene = new GameSence();
// run
director->runWithScene(scene);
return true;
}
然后sence类很简单,很清爽:
class GameSence : public cocos2d::Scene
{
public:
GameSence();
private:
GameLayer* m_pGameLayer;
};
GameSence::GameSence()
{
m_pGameLayer = new GameLayer;
addChild(m_pGameLayer);
}
GameLayer也很简单:
class GameLayer : public cocos2d::Layer
{
public:
GameLayer();
void backGroupMove(float dt);
private:
cocos2d::Sprite* m_pBackground1;
cocos2d::Sprite* m_pBackground2;
};
GameLayer::GameLayer()
{
cocos2d::Layer::init();
auto spriteFrameCache = cocos2d::SpriteFrameCache::sharedSpriteFrameCache();
spriteFrameCache->addSpriteFramesWithFile("shoot_background.plist");
m_pBackground1= Sprite::createWithSpriteFrame(spriteFrameCache->getSpriteFrameByName("background.png"));
m_pBackground1->setPosition(ccp(0,0));
m_pBackground1->setAnchorPoint(ccp(0,0));
addChild(m_pBackground1);
m_pBackground2= Sprite::createWithSpriteFrame(spriteFrameCache->getSpriteFrameByName("background.png"));
m_pBackground2->setPosition(ccp(0,m_pBackground2->getContentSize().height-5));
m_pBackground2->setAnchorPoint(ccp(0,0));
addChild(m_pBackground2);
schedule(schedule_selector(GameLayer::backGroupMove), 0.01f);
}
void GameLayer::backGroupMove(float dt)
{
m_pBackground1->setPositionY(m_pBackground1->getPositionY()-2);
m_pBackground2->setPositionY(m_pBackground1->getPositionY() + m_pBackground1->getContentSize().height -2);
if (m_pBackground2->getPositionY() == 0)
{
m_pBackground1->setPositionY(0);
}
}
然后显示就是打飞机背景一直在动,飞机飞啊,飞到 啦啦啦!
分享到:
相关推荐
cocos2d-x 3.0 人物行走 . 包里有代码和 图片资源.
这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...
Cocos2d-x3.0正式版 练练看 源码。有注释。
这是cocos2d-x 3.0 类关系图, 这个制作者是:gamecocos2dx 他做的Xmind,我导出的PNG格式,我推荐还是看Xmind,里面还有一些注释 gamecocos2dx Xmind下载地址:...
兄弟连cocos2d-x3.0 final视频教程 1.Cocos2d-x手机游戏开发C编程基础 2.Cocos2d-x手机游戏开发C++编程基础 3.Cocos2d-x3.0 final手机游戏开发核心技术 4.实例:贪吃蛇 5.实例:微信飞机大战
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
http://blog.csdn.net/zoyzn/article/details/27251633一文的源码。cocos2d-x 3.0导出自定义类到lua,并导出自定义类的名称空间到lua。
这是一个cocos2d-x 3.0中文开发文档.
本游戏基于cocos2d-x 3.0版本,可能不适用于cocos2d-x 2.x版本,请看清楚,再参考! 使用方法:将Classes中的类全部拷贝到新建cocos项目的Classes项目中,将Resources下的所有文件拷贝到对应的文件下,运行即可!
离线版Cocos2d-JS-v3.0 API,方便查阅
官网中文docs文档的例子下载 创建工程的时候一定要创建一样的文件名 http://www.cocos2d-x.org/docs/tutorial/framework/native/how-to-drag-and-drop-sprites/zh
cocos2d-x 3.0 骨骼动画 demo 以及注意事项
Cocos2d-x3.0final 自学教程的配套代码http://blog.csdn.net/column/details/cocos2dx2014.html
Cocos2d-x3.0游戏实例《别救我》源码。 教程地址:http://blog.csdn.net/musicvs/article/details/24928929
使用cocos2d-x3.0来给Sprite添加遮罩
Cocos2d-x 3.0 过渡学习 尊重原创,转载来自:star特530的CSDN博客 :http://blog.csdn.net/star530?viewmode=contents
cocos2d-x-2.1.5
cocos2d-x 3.0 rapidjson 读取Json
Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签
在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...