Exemple #1
0
void RectCollider::addLayer(Layer* layer, int depth) {
    DrawNode* node = DrawNode::create();
    Vec2 origin = Vec2::ZERO;
    Vec2 dest = Vec2::ZERO;
    Vec2 cpos = Vec2::ZERO;
    if (NULL != this->behaviour) {
        BaseRenderAsset* pbra = (BaseRenderAsset*)this->behaviour->getAsset("anime");
        Transform transform = pbra->getTransform();
        cpos = transform.getPosition().vector2d;
        Size allSize = transform.getContentsScale().getAllScale();
        Size halfSize = transform.getContentsScale().getHalfScale();
        origin = Vec2(-1 * halfSize.width, -1 * halfSize.height);
        dest = Vec2(allSize.width, allSize.height);
    } else if (NULL != this->node) {
        cpos = this->node->position;
        Vec2 position = this->node->position;
        Scale* scale = this->node->scale;
        float width = scale->getHalfScale().width;
        float height = scale->getHalfScale().height;
        dest = Vec2(width, height);
    }
    node->drawRect(origin, dest, Color4F(0.0f, 1.0f, 0.0f, 0.5f));
    node->setPosition(cpos);
    layer->addChild(node, depth);
}
bool LayerAnimationPractice04::init()
{
    if (!LayerColor::initWithColor(Color4B::GRAY))
    {
        return false;
    }
    
    Size winSize = Director::getInstance()->getWinSize();
    Button* pBtnTest = Button::create();
    pBtnTest->setTitleFontSize(40.0f);
    pBtnTest->setTitleColor(Color3B::BLACK);
    pBtnTest->setTitleText("Test");
    pBtnTest->setPosition(Vec2(winSize.width*0.5f, 40.0f));
    addChild(pBtnTest);
    pBtnTest->addClickEventListener(CC_CALLBACK_1(LayerAnimationPractice04::btnTestCallback, this));
    
    m_pNormalItem = NormalItem::create();
    m_pNormalItem->setPosition(winSize*0.5f+ITEM_SIZE);
    addChild(m_pNormalItem);
    
    for (int i=0; i<10; ++i)
    {
        DrawNode* pDrawNode = DrawNode::create();
        pDrawNode->drawRect(m_pNormalItem->getPosition()-Vec2(0.0f, i*ITEM_SIZE.height),
                            m_pNormalItem->getPosition()+ITEM_SIZE,
                            Color4F::RED);
        addChild(pDrawNode);
    }
    
    return true;
}
void CEAProgressBar::draw(cocos2d::Renderer *renderer, const cocos2d::Mat4 &transform, uint32_t flags) {
    this->removeAllChildren();
    DrawNode *pDN = DrawNode::create();
    this->addChild(pDN);
    Vec2 start = m_customRect.origin;
    Vec2 end = Vec2(start.x + m_customRect.size.width, start.y + m_customRect.size.height);
    Vec2 percentEnd = Vec2(start.x + m_customRect.size.width * m_percentage, start.y + m_customRect.size.height);
    pDN->drawRect(start, end, m_outlineColor);
    pDN->drawSolidRect(start, percentEnd, m_fillColor);
}
void GameController::drawBorder(Node* a_node, Color4F a_color4f)
{
    float height = a_node->getContentSize().height;
    float width = a_node->getContentSize().width;
    
    DrawNode* pDrawNode = DrawNode::create();
    pDrawNode->drawRect( Vec2(0.0f, 0.0f), Vec2(width, height), a_color4f);
    
    a_node->addChild(pDrawNode, -1);
}
Exemple #5
0
 bool BlockHouse::init()
 {
     if (!Node::init())
         return false;
     
     this->firePoint = Vec2(15.f, 0.f);
     
     DrawNode *drawNode = DrawNode::create();
     addChild(drawNode);
     
     drawNode->drawSolidCircle(Vec2::ZERO, 10.f, 2 * M_PI, 64, 1, 1, Color4F::BLUE);
     drawNode->drawRect(Vec2(0, -3.f), Vec2(firePoint.x, 3.f), Color4F::BLUE);
     
     setFireable(false);
     fireTime = 0;
     
     this->scheduleUpdate();
     return true;
 }
	virtual void updateEmotion() override {
	//	if (_glasses) removeChild(_glasses);
	//	_glasses = nullptr;
		if (_emotion == 99) {
			_faceSprite->setUndertaleSprite(1986);
			setContentSize(_faceSprite->getContentSize());
			if (!_glasses) {
				addChild(_glasses = USprite::create(1989),100); // spr_face_torielglasses
				_glasses->setPosition(_glasses->getContentSize() / 2);
			}
			_emotion = 0;
		}
		else {
			switch (_emotion) {
			case 0: _faceSprite->setUndertaleSprite(1986); break;
			case 1: _faceSprite->setUndertaleSprite(2004); break;
			case 2: _faceSprite->setUndertaleSprite(1990); break;
			case 3: _faceSprite->setUndertaleSprite(1999); break;
			case 4: _faceSprite->setUndertaleSprite(2000); break;
			case 6: _faceSprite->setUndertaleSprite(1991); break;
			case 7: _faceSprite->setUndertaleSprite(1993); break;
			case 8: _faceSprite->setUndertaleSprite(1996); break;
			case 9: _faceSprite->setUndertaleSprite(1987); break;
			}
			
		}
		if (!_body) {
			addChild(_body = USprite::create(1985), -100); // "spr_face_torielbody" obj_torface.x + obj_torface.sprite_width / 2 - self.sprite_width / 2;
			Size contentSize(_body->getContentSize().width, _body->getContentSize().height + _faceSprite->getContentSize().height+9);
			setContentSize(contentSize);
			_faceSprite->setPositionY(_faceSprite->getPositionY() + 9);
			_body->setPositionY(_body->getPositionY() - 9);
	
			{// test box
				DrawNode * debug = DrawNode::create();
				Vec2 pos = getContentSize()/2;
				debug->drawRect(-pos, pos, Color4F::GREEN);
				addChild(debug, 1000);
			}
		}
	}