688 auto s = Director::getInstance()->getWinSize();
690 auto sprite1 = Sprite3D::create(
"Sprite3DTest/boss1.obj");
692 sprite1->setScale(4.f);
693 sprite1->setTexture(
"Sprite3DTest/boss.png");
694 sprite1->setPosition(Vec2(s.width / 2, s.height / 2));
698 sprite1->runAction(RepeatForever::create(RotateBy::create(3.0f, 360.0f)));
700 auto sprite2 = Sprite3D::create(
"Sprite3DTest/boss1.obj");
702 sprite2->setScale(4.f);
703 sprite2->setTexture(
"Sprite3DTest/boss.png");
704 sprite2->setPosition(Vec2(s.width / 2, s.height / 2));
705 sprite2->setAnchorPoint(Vec2(0.5f, 0.5f));
709 sprite2->runAction(RepeatForever::create(RotateBy::create(3.0f, -360.0f)));
713 auto listener1 = EventListenerTouchOneByOne::create();
714 listener1->setSwallowTouches(
true);
716 listener1->onTouchBegan = [](Touch* touch, Event* event) {
717 auto target =
static_cast<Sprite3D*
>(
event->getCurrentTarget());
719 Rect rect = target->getBoundingBox();
720 if (rect.containsPoint(touch->getLocation()))
722 log(
"sprite3d began... x = %f, y = %f", touch->getLocation().x, touch->getLocation().y);
723 target->setOpacity(100);
729 listener1->onTouchMoved = [](Touch* touch, Event* event) {
730 auto target =
static_cast<Sprite3D*
>(
event->getCurrentTarget());
731 target->setPosition(target->getPosition() + touch->getDelta());
734 listener1->onTouchEnded = [=](Touch* touch, Event* event) {
735 auto target =
static_cast<Sprite3D*
>(
event->getCurrentTarget());
736 log(
"sprite3d onTouchesEnded.. ");
737 target->setOpacity(255);
740 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, sprite1);
741 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1->clone(), sprite2);