内容介绍:
3、场景切换效果 //CCTransitionJumpZoom //作用:创建一个跳动的过渡动画 //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionJumpZoom::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionProgressRadialccw //作用:创建一个扇形条形式的过渡动画,逆时针方向 //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionProgressRadialccw::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionProgressRadialCW //作用:创建一个扇形条形式的过渡动画,顺时针方向 //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionProgressRadialCW::create(t,s); //CCTransitionProgressHorizontal //作用:创建一个水平条形式的过渡动画, //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionProgressHorizontal::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionProgressvertical //作用:创建一个垂直条形式的过渡动画, //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionProgressvertical::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionProgressInOut //作用:创建一个由里向外扩展的过渡动画, //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionProgressInOut::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionProgressOutIn //作用:创建一个由外向里扩展的过渡动画, //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionProgressOutIn::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionCrossFade //作用:创建一个逐渐透明的过渡动画 //参数1:过渡动作的时间 //参数2:切换到目标场景的对象 //reScene=CCTransitionCrossFade::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionPageTurn //作用:创建一个翻页的过渡动画 //参数1:过渡动作持续的时间 //参数2:切换的目标场景的对象 //参数3:是否逆向翻页 //reScene=CCTransitionPageTurn::create(t,s,false); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionFadeTR //作用:创建一个部落格过渡动画,从左下到右上 //参数1:过渡动作持续的时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionFadeTR::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionFadeBL //作用:创建一个部落格过渡动画,从右上到左下 //参数1:过渡动作持续的时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionFadeBL::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionFadeUp //作用:创建一个从下到上,条形折叠的过渡动画 //参数1:过渡动作持续的时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionFadeUp::create(t,s); //CCDirector::sharedDirector()->replaceScene(s); //CCTransitionFadeDown //作用:创建一个从上到下,条形折叠的过渡动画 //参数1:过渡动作持续的时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionFadeDown::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionTurnOffTiles //作用:创建一个随机方格消失的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionTurnOffTiles::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionSplitRows //作用:创建一个分行划分切换的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionSplitRows::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionSplitCols //作用:创建一个分列划分切换的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionSplitCols::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionFade //作用:创建一个逐渐过渡到目标颜色的切换动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //参数3:目标颜色 //reScene=CCTransitionFade::create(t,ccc3(255,0)); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionFlipX //作用:创建一个x轴反转的切换动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //参数3:反转类型的枚举变量左右上下 //kOrientationDownOverkOrientationLeftOverkOrientationRightOverkOrientationUpOver //reScene=CCTransitionFlipX::create(t,kOrientationRightOver); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionFlipY //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //参数3:反转类型的枚举变量左右上下 //reScene=CCTransitionFlipY::create(t,s //,kOrientationDownOver); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionFlipAngular //作用:创建一个带有反转角切换动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //参数3:反转类型的枚举变量左右上下 //reScene=CCTransitionFlipAngular::create(t,kOrientationLeftOver); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionZoomFlipX //作用:创建一个带有缩放的x轴反转切换的动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //参数3:反转类型的枚举变量左右上下 //reScene=CCTransitionZoomFlipX::create(t,kOrientationLeftOver); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionZoomFlipY //作用:创建一个带有缩放的Y轴反转切换的动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //参数3:反转类型的枚举变量左右上下 //reScene=CCTransitionZoomFlipY::create(t,kOrientationDownOver); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionZoomFlipAngular //作用:创建一个带有缩放,反转角切换的动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //参数3:反转类型的枚举变量左右上下 //reScene=CCTransitionZoomFlipAngular::create(t,kOrientationRightOver); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionShrinkGrow //创建一个放缩交替的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionShrinkGrow::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionRotoZoom //创建一个旋转放缩交替的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionRotoZoom::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionMoveInL //作用:创建一个从左边推入覆盖的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionMoveInL::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionMoveInR //作用:创建一个从右边推入覆盖的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionMoveInR::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionMoveInB //作用:创建一个从下边推入覆盖的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionMoveInB::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionMoveInT //作用:创建一个从上边推入覆盖的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionMoveInT::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionSlideInL //作用:创建一个从左侧推入并顶出旧场景的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionSlideInL::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionSlideInR //作用:创建一个从右侧推入并顶出旧场景的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionSlideInR::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionSlideInT //作用:创建一个从顶部推入并顶出旧场景的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionSlideInT::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); //CCTransitionSlideInB //作用:创建一个从下部推入并顶出旧场景的过渡动画 //参数1:过渡动作的持续时间 //参数2:切换的目标场景的对象 //reScene=CCTransitionSlideInB::create(t,s); //CCDirector::sharedDirector()->replaceScene(reScene); 4、动作 autolabel=LabelTTF::create("test","Courier",30); label->setPosition(100,100); addChild(label); autolistener=EventListenerTouchOneByOne::create(); listener->onTouchBegan=[label](Touch*t,Event*e){ //if(label->getBoundingBox().containsPoint(t->getLocation())){ //label->runAction(Moveto::create(1,Point(300,300))); label->runAction(MoveBy::create(1,Point(-10,-10))); //label->runAction(MoveBy::create(1,Point(-100,-100))->reverse());//动作反转 //label->runAction(Repeat::create(RotateBy::create(1,180),3));//一个动作在1秒内旋转180度3次 //label->runAction(RepeatForever::create(RotateBy::create(1,180)));//一个动作在1秒内旋转180无限次 //label->runAction(Spawn::create(MoveBy::create(1,ccp(100,100)),RotateBy::create(1,360),NULL));//同时执行多个动作 //label->runAction(Sequence::create(MoveBy::create(1,NULL));//序列动作,先执行再执行 //label->runAction(Sequence::create(MoveBy::create(1,CallFunc::create([](){MessageBox("","");}),NULL));//动作事件 //} returnfalse; }; Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(listener,label); 5、触摸、按键用户交互 (1):单点触摸 MenuItemFont*l=MenuItemFont::create("clickme"); l->setPosition(visibleSize.width/2,visibleSize.height/2); addChild(l); EventListenerTouchOneByOne*listener=EventListenerTouchOneByOne::create(); listener->onTouchBegan=[](Touch*t,Event*e){ if(e->getCurrentTarget()->getBoundingBox().containsPoint(t->getLocation())){//判断事件对象是否本身 MessageBox("",""); } returnfalse;//判断是否事件传递下去 }; Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(listener,l); (2):移动触摸事件 listener->onTouchMoved=[](Touch*t,Event*e){ log("touchMoved"); }; (3):事件结束 listener->onTouchEnded=[](Touch*t,Event*e){ MessageBox("onTouchEnded",""); }; (4):多点触摸 autolistener=EventListenerTouchAllAtOnce::create(); listener->ontouchesBegan=[](std::vector<Touch*>ts,Event*e){ //MessageBox("ontouchesBegan",""); }; listener->ontouchesMoved=[](std::vector<Touch*>ts,Event*e){ MessageBox("ontouchesMoved",""); }; Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(listener,this); (5):加速度传感器 Device::setAccelerometerEnabled(true);//开启 Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(EventListeneracceleration::create([](acceleration*a,Event*e){ log("x:%g,y:%g,z:%g",a->x,a->y,a->z); }),this); (6):按键传递 autolistener=EventListenerKeyboard::create(); listener->onkeyreleased=[](EventKeyboard::KeyCodecode,Event*e){ log("keycode:%d",code); switch(code){ caseEventKeyboard::KeyCode::KEY_BACKSPACE: Director::getInstance()->end(); break; default: break; } }; Director::getInstance()->getEventdispatcher()->addEventListenerWithSceneGraPHPriority(listener,this); 5、绘图 autod=DrawNode::create(); d->drawTriangle(Point(100,100),Point(100,300),Color4F::BLUE);