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 CameraCullingDemo::onEnter() { CameraBaseTest::onEnter(); schedule(schedule_selector(CameraCullingDemo::update), 0.0f); 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; // swich camera MenuItemFont::setFontName("fonts/arial.ttf"); MenuItemFont::setFontSize(20); auto menuItem1 = MenuItemFont::create("Switch Camera", CC_CALLBACK_1(CameraCullingDemo::switchViewCallback,this)); menuItem1->setColor(Color3B(0,200,20)); auto menu = Menu::create(menuItem1,NULL); menu->setPosition(Vec2::ZERO); menuItem1->setPosition(VisibleRect::left().x + 80, VisibleRect::top().y -70); addChild(menu, 1); // + - MenuItemFont::setFontSize(40); auto decrease = MenuItemFont::create(" - ", CC_CALLBACK_1(CameraCullingDemo::delSpriteCallback, this)); decrease->setColor(Color3B(0,200,20)); auto increase = MenuItemFont::create(" + ", CC_CALLBACK_1(CameraCullingDemo::addSpriteCallback, this)); increase->setColor(Color3B(0,200,20)); menu = Menu::create(decrease, increase, nullptr); menu->alignItemsHorizontally(); menu->setPosition(Vec2(s.width - 60, VisibleRect::top().y -70)); addChild(menu, 1); TTFConfig ttfCount("fonts/Marker Felt.ttf", 30); _labelSprite3DCount = Label::createWithTTF(ttfCount,"0 sprits"); _labelSprite3DCount->setColor(Color3B(0,200,20)); _labelSprite3DCount->setPosition(Vec2(s.width/2, VisibleRect::top().y -70)); addChild(_labelSprite3DCount); // aabb drawNode3D _drawAABB = DrawNode3D::create(); _drawAABB->setCameraMask((unsigned short) CameraFlag::USER1); addChild(_drawAABB); // frustum drawNode3D _drawFrustum = DrawNode3D::create(); _drawFrustum->setCameraMask((unsigned short) CameraFlag::USER1); addChild(_drawFrustum); // set camera switchViewCallback(this); // add sprite addSpriteCallback(nullptr); }