微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cocos2dx 适合初学者的学习笔记【二】


内容介绍:

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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐