本文整理汇总了C++中CCNode::getScaleX方法的典型用法代码示例。如果您正苦于以下问题:C++ CCNode::getScaleX方法的具体用法?C++ CCNode::getScaleX怎么用?C++ CCNode::getScaleX使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCNode
的用法示例。
在下文中一共展示了CCNode::getScaleX方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getViewRect
CCRect LotteryRotateView::getViewRect()
{
CCSize size = getPanelChild()->getContentSize();
CCPoint screenPos = this->convertToWorldSpace(CCPointZero);
float scaleX = this->getScaleX();
float scaleY = this->getScaleY();
for (CCNode *p = _parent; p != NULL; p = p->getParent()) {
scaleX *= p->getScaleX();
scaleY *= p->getScaleY();
}
if(scaleX<0.f) {
screenPos.x += size.width*scaleX;
scaleX = -scaleX;
}
if(scaleY<0.f) {
screenPos.y += size.height*scaleY;
scaleY = -scaleY;
}
return CCRectMake(getPanelChild()->getPositionX() - size.width/2, getPanelChild()->getPositionY() - size.height/2, size.width, size.height);
}
示例2: relayoutAsHorizontal
void HRootLayer::relayoutAsHorizontal(CCArray *nodes, CCPoint basePos, int interval) {
for (int i = 0; i < nodes->count(); ++i) {
CCNode *node = (CCNode *)nodes->objectAtIndex(i);
node->setPosition(CCPointMake(basePos.x + node->getAnchorPoint().x * node->getContentSize().width * node->getScaleX(), basePos.y));
basePos.x += node->getContentSize().width * node->getScaleX() + interval;
}
}
示例3: visit
void CCBClippingNode::visit(){
CCNode* hock = this->getChildByTag(htag);
if (hock==NULL) {
getStencil()->setPosition(0, 0);
getStencil()->setScaleX(1);
getStencil()->setScaleY(1);
getStencil()->setRotationX(0);
getStencil()->setRotationY(0);
getStencil()->setSkewX(0);
getStencil()->setSkewY(0);
getStencil()->setAnchorPoint(ccp(0.5, 0.5));
}else{
getStencil()->setPosition(hock->getPositionX(),hock->getPositionY());
getStencil()->setScaleX(hock->getScaleX());
getStencil()->setScaleY(hock->getScaleY());
getStencil()->setRotationX(hock->getRotationX());
getStencil()->setRotationY(hock->getRotationY());
getStencil()->setSkewX(hock->getSkewX());
getStencil()->setSkewY(hock->getSkewY());
getStencil()->setAnchorPoint(hock->getAnchorPoint());
}
CCClippingNode::visit();
}
示例4: saveNodeState
void APSScaleAction::saveNodeState() {
APSGraphic *graphic = this->getTargetGraphic();
if (graphic) {
CCNode *node = graphic->getNode();
this->m_startScale.x = node->getScaleX();
this->m_startScale.y = node->getScaleY();
}
}
示例5: updateRect
void MDragDownView::updateRect()
{
CCPoint worldPosition = this->convertToWorldSpace(CCPointZero);
float fScaleX = this->getScaleX();
float fScaleY = this->getScaleY();
for (CCNode *p = m_pParent; p != NULL; p = p->getParent())
{
fScaleX *= p->getScaleX();
fScaleY *= p->getScaleY();
}
if(fScaleX < 0.f)
{
worldPosition.x += m_viewSize.width * fScaleX;
fScaleX = -fScaleX;
}
if(fScaleY < 0.f)
{
worldPosition.y += m_viewSize.height * fScaleY;
fScaleY = -fScaleY;
}
m_viewRect.setRect(worldPosition.x,
worldPosition.y + (m_fViewMaxHeight - m_viewSize.height) * fScaleY,
m_viewSize.width * fScaleX,
m_viewSize.height * fScaleY);
if (m_pDragBar)
{
auto dragSize = m_pDragBar->getContentSize();
auto dragFixSize = CCSizeMake(dragSize.width * m_pDragBar->getScaleX() * fScaleX,
dragSize.height * m_pDragBar->getScaleY() * fScaleY);
float fWidth = dragFixSize.width < m_viewRect.size.width ? dragFixSize.width : m_viewRect.size.width;
float fHeight = dragFixSize.height < m_viewRect.size.height ? dragFixSize.height : m_viewRect.size.height;
m_dragBarRect.setRect(m_viewRect.origin.x + (m_viewRect.size.width-fWidth)*0.5,
m_viewRect.origin.y, fWidth, fHeight);
}
/*
CCLog("[%.0f, %.0f, %.0f, %.0f], [%.0f, %.0f, %.0f, %.0f]",
m_viewRect.origin.x, m_viewRect.origin.y,
m_viewRect.size.width, m_viewRect.size.height,
m_dragBarRect.origin.x, m_dragBarRect.origin.y,
m_dragBarRect.size.width, m_dragBarRect.size.height);//*/
}
示例6: setOriginalScaleFromParent
// Sets the value of originalScale from the current parent.
void CCNodeAdornmentScaler::setOriginalScaleFromParent()
{
CCNode* p = getParent();
if ( p )
_originalScale = CCSizeMake(p->getScaleX(), p->getScaleY());
}
示例7: showFrame
void CCINode::showFrame(){
//std::vector<CCIMovieTag *> tags = this->swfMovie->getTags();
while (true) {
CCIMovieTag * tag = NULL;
if (currentTag<tags.size()) {
tag = tags[currentTag++];
}else{
this->removeAllChildrenWithCleanup(true);
//this->stop();
currentTag = 0;
currentFrame = 0;
break;
}
if(tag->getTagType()==TagTypePlaceObject||tag->getTagType()==TagTypePlaceObject2||tag->getTagType()==TagTypePlaceObject3){
CCIPlaceObject * placeTag = (CCIPlaceObject *)tag;
int charactorId = placeTag->getCharacterId();
int depth = placeTag->getDepth();
CCIPlaceObject2 * placeTag2 = NULL;
if (tag->getTagType()==TagTypePlaceObject2||tag->getTagType()==TagTypePlaceObject3) {
placeTag2 = (CCIPlaceObject2 *)tag;
}
CCNode * node;
if (!placeTag2||placeTag2->placeType==PlaceObjectTypeNew) {
//place1 or placetag2 new
node = (CCNode *)this->nodes->objectForKey(charactorId);
if (node&&node->getParent()==NULL) {
this->addChild(node, depth, depth);
CCInteger * nodeType = (CCInteger *)node->getUserObject();
if (nodeType->getValue()==NodeTypeCCINode) {
CCINode * ccinode = (CCINode *)node;
ccinode->play();
}
}
}else if(placeTag2&&placeTag2->placeType==PlaceObjectTypeModify){
node = (CCNode *)this->getChildByTag(depth);
}else if(placeTag2&&placeTag2->placeType==PlaceObjectTypeReplace){
CCNode * newNode = (CCNode *)this->nodes->objectForKey(charactorId);
node = (CCNode *)this->getChildByTag(depth);
if (node) {
if (newNode) {
//get last transform matrix
newNode->setPosition(node->getPosition());
newNode->setScaleX(node->getScaleX());
newNode->setScaleY(node->getScaleY());
newNode->setSkewX(node->getSkewX());
newNode->setSkewY(node->getSkewY());
}
CCInteger * nodeType = (CCInteger *)node->getUserObject();
if (nodeType->getValue()==NodeTypeCCINode) {
CCINode * ccinode = (CCINode *)node;
ccinode->stop();
}
node->removeFromParentAndCleanup(true);
}
node = newNode;
if (node&&node->getParent()==NULL) {
this->addChild(node, depth, depth);
CCInteger * nodeType = (CCInteger *)node->getUserObject();
if (nodeType->getValue()==NodeTypeCCINode) {
CCINode * ccinode = (CCINode *)node;
ccinode->play();
}
}
}
if (node) {
CCIMatrix * matrix = placeTag->getMatrix();
if (matrix) {
int x = matrix->getTranslateX();
int y = matrix->getTranslateY();
node->setPosition(this->swfMovie->getHeader()->getBounds()->convertToCCSpace(x, y));
//restore
float scaleX = 1.0;
float scaleY = 1.0;
node->setScaleX(1);
node->setScaleY(1);
node->setSkewX(0);
node->setSkewY(0);
if (matrix->HasScale) {
scaleX = matrix->getScaleX();
scaleY = matrix->getScaleY();
node->setScaleX(scaleX);
node->setScaleY(scaleY);
}
if (matrix->HasRotate) {
float skewX = matrix->getSkewX();
float skewY = matrix->getSkewY();
//.........这里部分代码省略.........