#include “HelloWorldScene.h”
#include “cocostudio/CocoStudio.h”
#include “ui/CocosGUI.h”
USING_NS_CC;
using namespace cocostudio::timeline;
Scene* HelloWorld::createScene()
{
// ‘scene’ is an autorelease object
auto scene = Scene::create();
// 'layer' is an autorelease object
auto layer = HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on “init” you need to initialize your instance
bool HelloWorld::init()
{
Size size = Director::getInstance()->getWinSize();
_render = RenderTexture::create(size.width, size.height, Texture2D::PixelFormat::RGBA4444, GL_DEPTH24_STENCIL8);
_render->setPosition(Vec2(size.width / 2, size.height / 2));
// _render->setAnchorPoint(Vec2(Vec2::ZERO));
_render->clear(0, 0, 0, 0.7f);
_render->setAutoDraw(true);
addChild(_render);
auto paddleTexture = Director::getInstance()->getTextureCache()->addImage("logo.png");
m_aaaaa = CCSprite::createWithTexture(paddleTexture);
m_aaaaa->setPosition(Vec2(0, 0));
_render->addChild(m_aaaaa);
setTouchEnabled(1);
setTouchMode(Touch::DispatchMode::ONE_BY_ONE);
return true;
}
bool HelloWorld::onTouchBegan(cocos2d::Touch *touch, cocos2d::Event *event)
{
_firstTouch = this->convertToNodeSpace(touch->getLocation());
return true;
}
void HelloWorld::onTouchEnded(cocos2d::Touch *touch, cocos2d::Event *event)
{
}
void HelloWorld::onTouchCancelled(cocos2d::Touch *touch, cocos2d::Event *event)
{
}
void HelloWorld::onTouchMoved(cocos2d::Touch *touch, cocos2d::Event *event){
auto pos = this->convertToNodeSpace(touch->getLocation());
pos = ccpSub(pos, _firstTouch);
setPosition(ccpAdd(this->getPosition(), pos));
auto pos2 = ccpSub(this->convertToWorldSpace(_render->getPosition()), _render->convertToWorldSpace(m_aaaaa->getPosition()));
CCLOG("layer poation %f %f m_aaaaa::%f %f ", this->convertToWorldSpace(_render->getPosition()).x, this->convertToWorldSpace(_render->getPosition()).y,
pos2.x, pos2.y);
}