1.游戏效果
2.游戏的画风
3.游戏耐玩性
其中游戏的效果有一个很重要的要素,这里就包含 游戏中人物的动作(Action)。有时候我们说这个游戏这个技能真帅啊,这指的有两点,技能的效果帅和动作帅。
下面我领大家来看看官方的Demo
之前写过的博客已经介绍了, 传送门 http://blog.csdn.net/hiwoshixiaoyu/article/details/51472707
我们最好卸载掉一些别的工程,加快我们的编译速度,C++编译速度很慢的
代码如下,已经加上了注释
//------------------------------------------------------------------ // // Test1 // //------------------------------------------------------------------ void CrashTest::onEnter() { ActionManagerTest::onEnter(); //创建精灵 s_pathGrossini是什么呢?static const char s_pathGrossini= "Images/grossini.png"; auto child = Sprite::create(s_pathGrossini); //设置到屏幕中心点 child->setPosition( VisibleRect::center() ); //添加的逻辑必须 /** * 添加一个child(带有z order和tag)到一个容器里 * *如果这个child是被添加到一个运行中的节点,然后onEnter和onEnterTransitionDidFinish将会被调用 * @param child 一个child 节点. * @param localZOrder Z order 是为了描画的顺序的 * @param tag 一个整形很容易确定节点. */ addChild(child, 1, kTagGrossini); //Sum of all action's duration is 1.5 second. //旋转 90度 ,持续1.5秒 child->runAction(RotateBy::create(1.5f, 90)); //DelayTime这个参数是推迟这个动作 1.4秒 //FadeOut淡出 1.1秒 child->runAction(Sequence::create( DelayTime::create(1.4f), FadeOut::create(1.1f), nullptr) ); //1.5秒后将会移除这个动作 child->runAction(Sequence::create( DelayTime::create(1.4f), CallFunc::create(CC_CALLBACK_0(CrashTest::removeThis, this)), nullptr) ); } void CrashTest::removeThis() { //通过Tag号获取了 节点 auto child = getChildByTag(kTagGrossini); //将节点删除 child->removeChild(child, true); //运行下一个例子 getTestSuite()->enterNextTest(); } std::string CrashTest::subtitle() const { return "Test 1. Should not crash"; } //------------------------------------------------------------------ // // Test2 // //------------------------------------------------------------------ void LogicTest::onEnter() { ActionManagerTest::onEnter(); //创建精灵 auto grossini = Sprite::create(s_pathGrossini); //将精灵加到层上 addChild(grossini, 0, 2); //添加到中心点 grossini->setPosition(VisibleRect::center()); //移动到 (150,0)点 ,时间为5秒 //CC_CALLBACK_1(LogicTest::bugMe,this) 五秒之后调用的函数 grossini->runAction( Sequence::create( MoveBy::create(5, Vec2(150,0)), CallFuncN::create(CC_CALLBACK_1(LogicTest::bugMe,this)), nullptr) ); } void LogicTest::bugMe(Node* node) { node->stopAllActions(); //After this stop next action not working, if remove this stop everything is working node->runAction(ScaleTo::create(2, 2));//放大倍x和y轴,也就是图片放大2倍 }
1.创建精灵
2.加载精灵到层上
3.创建动作
4. 精灵调用runAction 传递一个动作的参数
1. 我们在学习cocos2d的时候,遇到不会的方法可以去看看 框架中的注释
2.查看官方Api 传送门 http://api.cocos.com/
3.搜索一些博客,然后 看看继承图