精灵创建
精灵:即可以动的东西 比如我们自己的主角,敌人等
首先我们先先创建好自己的项目。
普通创建
普通创建就是直接加载图片将这个图标直接贴在场景中,代码如下:
auto Sprite = Sprite::create("selectplane_plane1.png");
if (Sprite)
{
Sprite->setPosition(visibleSize.width / 2, visibleSize.height / 2);
this->addChild(Sprite, 1);
}
visibleSize这里代表的是窗口的宽度。
效果图如下:
使用图集和精灵缓存创建精灵
这应该是cocos2d-x最常用的创建方式和C++的缓存区一个道理,更好的节省资源。话不多说看下列代码
auto SpriteCache = SpriteFrameCache::getInstance();
SpriteCache->addSpriteFramesWithFile("cityscene.plist");
auto SpriteFrame = SpriteCache->getSpriteFrameByName("background.png");
auto Sprite = Sprite::createWithSpriteFrame(SpriteFrame);
if (Sprite)
{
Sprite->setPosition(visibleSize.width / 2, visibleSize.height / 2);
this->addChild(Sprite, 1);
}
这是我使用的图集我向我的项目里面添加了这个背景图片下面请看效果图:
这种方法虽然说看着比上面那一种代码繁多 但到我们创建的精灵多的时候就会发现这种方法更加简便而且这种方法相对来说优化性能更好一点。
精灵创建就到这里了。后面我会贴出我的项目资源供大家免费下载。
场景切换
场景的切换相对较简单一些。简单的说就是通过导演来控制这个场景的切换。下面我使用项目自带的按钮来实现
要实现场景的切换首先我们需要新创建另外一个场景。新创建一个场景类。
在创建类时一定要注意这个类文件是否在src文件夹下,若没有将这个刚创建的类的头文件和cpp文件移动到该项目根目录的Class文件夹下面,并且在解决方案中添加现有项添加进入src文件下
之后场景的内容和基本函数仿照HelloWorldScene.cpp和头文件中的内容写就好。
在此我们引用一下项目自带的一个关闭按钮来进行切换界面
主要代码如下:
void HelloWorld::menuCloseCallback(Ref* pSender)
{
auto ps = PlaneScene::create();
Director::getInstance()->replaceScene(ps);
}
效果如下:
切换前:
点击右下角按钮切换后:
此次学习源码如下
由于cocos2d这个文件夹过大我就把它删除了,下载之后请自己创建个项目将里面的cocos2d文件夹自行复制进来即可,博主也是个小白,写这些东西希望能帮助其他同样和我一样热爱游戏的小白们,也希望能和大家一块学习共同进步。文中有什么不妥望指出。
资源链接:https://download.csdn.net/download/qq_37316639/11506332
他没办法设置0积分我也很无奈如若需要的不想要用积分下载可以评论区下留下邮箱我会尽快回复