Sprite3DReskinTest::Sprite3DReskinTest() : _sprite(nullptr) { auto s = Director::getInstance()->getWinSize(); addNewSpriteWithCoords( Vec2(s.width/2, s.height/2) ); auto listener = EventListenerTouchAllAtOnce::create(); listener->onTouchesEnded = CC_CALLBACK_2(Sprite3DReskinTest::onTouchesEnded, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); TTFConfig ttfConfig("fonts/arial.ttf", 20); auto label1 = Label::createWithTTF(ttfConfig,"Hair"); auto item1 = MenuItemLabel::create(label1,CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchHair,this) ); auto label2 = Label::createWithTTF(ttfConfig,"Glasses"); auto item2 = MenuItemLabel::create(label2, CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchGlasses,this) ); auto label3 = Label::createWithTTF(ttfConfig,"Coat"); auto item3 = MenuItemLabel::create(label3,CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchCoat,this) ); auto label4 = Label::createWithTTF(ttfConfig,"Pants"); auto item4 = MenuItemLabel::create(label4, CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchPants,this) ); auto label5 = Label::createWithTTF(ttfConfig,"Shoes"); auto item5 = MenuItemLabel::create(label5,CC_CALLBACK_1(Sprite3DReskinTest::menuCallback_switchShoes,this) ); item1->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height*4 ) ); item2->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height *5 ) ); item3->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height*6 ) ); item4->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height *7 ) ); item5->setPosition( Vec2(VisibleRect::left().x+50, VisibleRect::bottom().y+item1->getContentSize().height *8 ) ); auto pMenu1 = CCMenu::create(item1, item2, item3, item4, item5, nullptr); pMenu1->setPosition(Vec2(0,0)); this->addChild(pMenu1, 10); }
Sprite3DMirrorTest::Sprite3DMirrorTest() : _sprite(nullptr) , _mirrorSprite(nullptr) { auto s = Director::getInstance()->getWinSize(); addNewSpriteWithCoords( Vec2(s.width/2, s.height/2) ); }
Sprite3DWithOBBPerfromanceTest::Sprite3DWithOBBPerfromanceTest() { auto listener = EventListenerTouchAllAtOnce::create(); listener->onTouchesBegan = CC_CALLBACK_2(Sprite3DWithOBBPerfromanceTest::onTouchesBegan, this); listener->onTouchesEnded = CC_CALLBACK_2(Sprite3DWithOBBPerfromanceTest::onTouchesEnded, this); listener->onTouchesMoved = CC_CALLBACK_2(Sprite3DWithOBBPerfromanceTest::onTouchesMoved, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); auto s = Director::getInstance()->getWinSize(); initDrawBox(); addNewSpriteWithCoords(Vec2(s.width/2, s.height/2)); MenuItemFont::setFontName("fonts/arial.ttf"); MenuItemFont::setFontSize(65); auto decrease = MenuItemFont::create(" - ", CC_CALLBACK_1(Sprite3DWithOBBPerfromanceTest::delOBBCallback, this)); decrease->setColor(Color3B(0,200,20)); auto increase = MenuItemFont::create(" + ", CC_CALLBACK_1(Sprite3DWithOBBPerfromanceTest::addOBBCallback, this)); increase->setColor(Color3B(0,200,20)); auto menu = Menu::create(decrease, increase, nullptr); menu->alignItemsHorizontally(); menu->setPosition(Vec2(s.width/2, s.height-65)); addChild(menu, 1); TTFConfig ttfCount("fonts/Marker Felt.ttf", 30); _labelCubeCount = Label::createWithTTF(ttfCount,"0 cubes"); _labelCubeCount->setColor(Color3B(0,200,20)); _labelCubeCount->setPosition(Vec2(s.width/2, s.height-90)); addChild(_labelCubeCount); _hasCollider = false; addOBBCallback(nullptr); scheduleUpdate(); }
void NewSpriteBatchTest::onTouchesEnded(const std::vector<Touch *> &touches, Event *event) { for (auto &touch : touches) { auto location = touch->getLocation(); addNewSpriteWithCoords(location); } }
void SpriteRenderTextureBug::onTouchesEnded(const std::vector<Touch*>& touches, Event* event) { for (auto &touch: touches) { auto location = touch->getLocation(); addNewSpriteWithCoords(location); } }
Sprite3DEffectTest::Sprite3DEffectTest() { auto s = Director::getInstance()->getWinSize(); addNewSpriteWithCoords( Vec2(s.width/2, s.height/2) ); auto listener = EventListenerTouchAllAtOnce::create(); listener->onTouchesEnded = CC_CALLBACK_2(Sprite3DEffectTest::onTouchesEnded, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); }
KDvoid TestBox2D::ccTouchesEnded ( CCSet* touches, CCEvent* event ) { // Add a new body/atlas sprite at the touched location for ( CCSetIterator it = touches->begin ( ); it != touches->end ( ); it++ ) { CCTouch* pTouch = (CCTouch*) ( *it ); addNewSpriteWithCoords ( this->convertTouchToNodeSpace ( pTouch ) ); } }
AttachmentTest::AttachmentTest() : _hasWeapon(false) , _sprite(nullptr) { auto s = Director::getInstance()->getWinSize(); addNewSpriteWithCoords( Vec2(s.width/2, s.height/2) ); auto listener = EventListenerTouchAllAtOnce::create(); listener->onTouchesEnded = CC_CALLBACK_2(AttachmentTest::onTouchesEnded, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); }
void Box2DTestLayer::ccTouchesEnded(CCSet* touches, CCEvent* event) { //Add a new body/atlas sprite at the touched location CCSetIterator it; CCTouch* touch; for( it = touches->begin(); it != touches->end(); it++) { touch = (CCTouch*)(*it); if(!touch) break; CCPoint location = touch->locationInView(touch->view()); location = CCDirector::sharedDirector()->convertToGL(location); addNewSpriteWithCoords( location ); } }
Box2DTestLayer::Box2DTestLayer() { setIsTouchEnabled( true ); setIsAccelerometerEnabled( true ); CCSize screenSize = CCDirector::sharedDirector()->getWinSize(); //UXLOG(L"Screen width %0.2f screen height %0.2f",screenSize.width,screenSize.height); // Define the gravity vector. b2Vec2 gravity; gravity.Set(0.0f, -10.0f); // Do we want to let bodies sleep? bool doSleep = true; // Construct a world object, which will hold and simulate the rigid bodies. world = new b2World(gravity, doSleep); world->SetContinuousPhysics(true); /* m_debugDraw = new GLESDebugDraw( PTM_RATIO ); world->SetDebugDraw(m_debugDraw); uint flags = 0; flags += b2DebugDraw::e_shapeBit; flags += b2DebugDraw::e_jointBit; flags += b2DebugDraw::e_aabbBit; flags += b2DebugDraw::e_pairBit; flags += b2DebugDraw::e_centerOfMassBit; m_debugDraw->SetFlags(flags); */ // Define the ground body. b2BodyDef groundBodyDef; groundBodyDef.position.Set(0, 0); // bottom-left corner // Call the body factory which allocates memory for the ground body // from a pool and creates the ground box shape (also from a pool). // The body is also added to the world. b2Body* groundBody = world->CreateBody(&groundBodyDef); // Define the ground box shape. b2PolygonShape groundBox; // bottom groundBox.SetAsEdge(b2Vec2(0,0), b2Vec2(screenSize.width/PTM_RATIO,0)); groundBody->CreateFixture(&groundBox, 0); // top groundBox.SetAsEdge(b2Vec2(0,screenSize.height/PTM_RATIO), b2Vec2(screenSize.width/PTM_RATIO,screenSize.height/PTM_RATIO)); groundBody->CreateFixture(&groundBox, 0); // left groundBox.SetAsEdge(b2Vec2(0,screenSize.height/PTM_RATIO), b2Vec2(0,0)); groundBody->CreateFixture(&groundBox, 0); // right groundBox.SetAsEdge(b2Vec2(screenSize.width/PTM_RATIO,screenSize.height/PTM_RATIO), b2Vec2(screenSize.width/PTM_RATIO,0)); groundBody->CreateFixture(&groundBox, 0); //Set up sprite CCSpriteBatchNode *mgr = CCSpriteBatchNode::spriteSheetWithFile(s_pPathBlock, 150); addChild(mgr, 0, kTagSpriteManager); addNewSpriteWithCoords( CCPointMake(screenSize.width/2, screenSize.height/2) ); CCLabelTTF *label = CCLabelTTF::labelWithString("Tap screen", "Marker Felt", 32); addChild(label, 0); label->setColor( ccc3(0,0,255) ); label->setPosition( CCPointMake( screenSize.width/2, screenSize.height-50) ); schedule( schedule_selector(Box2DTestLayer::tick) ); }
void Camera3DTestDemo::onEnter() { CameraBaseTest::onEnter(); _sprite3D=nullptr; auto s = Director::getInstance()->getWinSize(); auto listener = EventListenerTouchAllAtOnce::create(); listener->onTouchesBegan = CC_CALLBACK_2(Camera3DTestDemo::onTouchesBegan, this); listener->onTouchesMoved = CC_CALLBACK_2(Camera3DTestDemo::onTouchesMoved, this); listener->onTouchesEnded = CC_CALLBACK_2(Camera3DTestDemo::onTouchesEnded, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); auto layer3D=Layer::create(); addChild(layer3D,0); _layer3D=layer3D; _curState=State_None; addNewSpriteWithCoords( Vec3(0,0,0),"Sprite3DTest/girl.c3b",true,0.2f,true); TTFConfig ttfConfig("fonts/arial.ttf", 20); auto containerForLabel1 = Node::create(); _ZoomOutlabel = Label::createWithTTF(ttfConfig,"zoom out"); _ZoomOutlabel->setPosition(s.width-50, VisibleRect::top().y-30); containerForLabel1->addChild(_ZoomOutlabel); addChild(containerForLabel1, 10); auto listener1 = EventListenerTouchOneByOne::create(); listener1->setSwallowTouches(true); listener1->onTouchBegan = CC_CALLBACK_2(Camera3DTestDemo::onTouchesZoomOut, this); listener1->onTouchEnded = CC_CALLBACK_2(Camera3DTestDemo::onTouchesZoomOutEnd, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, _ZoomOutlabel); auto containerForLabel2 = Node::create(); _ZoomInlabel = Label::createWithTTF(ttfConfig,"zoom in"); _ZoomInlabel->setPosition(s.width-50, VisibleRect::top().y-100); containerForLabel2->addChild(_ZoomInlabel); addChild(containerForLabel2, 10); auto listener2 = EventListenerTouchOneByOne::create(); listener2->setSwallowTouches(true); listener2->onTouchBegan = CC_CALLBACK_2(Camera3DTestDemo::onTouchesZoomIn, this); listener2->onTouchEnded = CC_CALLBACK_2(Camera3DTestDemo::onTouchesZoomInEnd, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener2, _ZoomInlabel); auto containerForLabel3 = Node::create(); _RotateLeftlabel = Label::createWithTTF(ttfConfig,"rotate left"); _RotateLeftlabel->setPosition(s.width-50, VisibleRect::top().y-170); containerForLabel3->addChild(_RotateLeftlabel); addChild(containerForLabel3, 10); auto listener3 = EventListenerTouchOneByOne::create(); listener3->setSwallowTouches(true); listener3->onTouchBegan = CC_CALLBACK_2(Camera3DTestDemo::onTouchesRotateLeft, this); listener3->onTouchEnded = CC_CALLBACK_2(Camera3DTestDemo::onTouchesRotateLeftEnd, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener3, _RotateLeftlabel); auto containerForLabel4 = Node::create(); _RotateRightlabel = Label::createWithTTF(ttfConfig,"rotate right"); _RotateRightlabel->setPosition(s.width-50, VisibleRect::top().y-240); containerForLabel4->addChild(_RotateRightlabel); addChild(containerForLabel4, 10); auto listener4 = EventListenerTouchOneByOne::create(); listener4->setSwallowTouches(true); listener4->onTouchBegan = CC_CALLBACK_2(Camera3DTestDemo::onTouchesRotateRight, this); listener4->onTouchEnded = CC_CALLBACK_2(Camera3DTestDemo::onTouchesRotateRightEnd, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener4, _RotateRightlabel); auto label1 = Label::createWithTTF(ttfConfig,"free "); auto menuItem1 = MenuItemLabel::create(label1, CC_CALLBACK_1(Camera3DTestDemo::SwitchViewCallback,this,CameraType::Free)); auto label2 = Label::createWithTTF(ttfConfig,"third person"); auto menuItem2 = MenuItemLabel::create(label2, CC_CALLBACK_1(Camera3DTestDemo::SwitchViewCallback,this,CameraType::ThirdPerson)); auto label3 = Label::createWithTTF(ttfConfig,"first person"); auto menuItem3 = MenuItemLabel::create(label3, CC_CALLBACK_1(Camera3DTestDemo::SwitchViewCallback,this,CameraType::FirstPerson)); auto menu = Menu::create(menuItem1, menuItem2, menuItem3, nullptr); menu->setPosition(Vec2::ZERO); menuItem1->setPosition(VisibleRect::left().x+100, VisibleRect::top().y-50); menuItem2->setPosition(VisibleRect::left().x+100, VisibleRect::top().y -100); menuItem3->setPosition(VisibleRect::left().x+100, VisibleRect::top().y -150); addChild(menu, 0); schedule(CC_SCHEDULE_SELECTOR(Camera3DTestDemo::updateCamera), 0.0f); if (_camera == nullptr) { _camera=Camera::createPerspective(60, (GLfloat)s.width/s.height, 1, 1000); _camera->setCameraFlag(CameraFlag::USER1); _layer3D->addChild(_camera); } SwitchViewCallback(this,CameraType::ThirdPerson); DrawNode3D* line =DrawNode3D::create(); //draw x for( int j =-20; j<=20 ;j++) { line->drawLine(Vec3(-100, 0, 5*j),Vec3(100,0,5*j),Color4F(1,0,0,1)); } //draw z for( int j =-20; j<=20 ;j++) { line->drawLine(Vec3(5*j, 0, -100),Vec3(5*j,0,100),Color4F(0,0,1,1)); } //draw y line->drawLine(Vec3(0, -50, 0),Vec3(0,0,0),Color4F(0,0.5,0,1)); line->drawLine(Vec3(0, 0, 0),Vec3(0,50,0),Color4F(0,1,0,1)); _layer3D->addChild(line); _layer3D->setCameraMask(2); }