mirror of https://github.com/axmolengine/axmol.git
merge setcameramask
This commit is contained in:
commit
a1642757f9
|
@ -268,6 +268,7 @@ Vec3 Camera::unproject(const Vec3* src) const
|
||||||
CCASSERT(src, "vec3 being projected can not be null");
|
CCASSERT(src, "vec3 being projected can not be null");
|
||||||
|
|
||||||
auto viewport = Director::getInstance()->getWinSize();
|
auto viewport = Director::getInstance()->getWinSize();
|
||||||
|
|
||||||
Vec4 screen(src->x / viewport.width, ((viewport.height - src->y)) / viewport.height, src->z, 1.0f);
|
Vec4 screen(src->x / viewport.width, ((viewport.height - src->y)) / viewport.height, src->z, 1.0f);
|
||||||
screen.x = screen.x * 2.0f - 1.0f;
|
screen.x = screen.x * 2.0f - 1.0f;
|
||||||
screen.y = screen.y * 2.0f - 1.0f;
|
screen.y = screen.y * 2.0f - 1.0f;
|
||||||
|
|
|
@ -1575,7 +1575,7 @@ public:
|
||||||
|
|
||||||
/** get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true */
|
/** get & set camera mask, the node is visible by the camera whose camera flag & node's camera mask is true */
|
||||||
unsigned short getCameraMask() const { return _cameraMask; }
|
unsigned short getCameraMask() const { return _cameraMask; }
|
||||||
void setCameraMask(unsigned short mask, bool applyChildren = true);
|
virtual void setCameraMask(unsigned short mask, bool applyChildren = true);
|
||||||
|
|
||||||
CC_CONSTRUCTOR_ACCESS:
|
CC_CONSTRUCTOR_ACCESS:
|
||||||
// Nodes should be created using create();
|
// Nodes should be created using create();
|
||||||
|
|
|
@ -431,4 +431,17 @@ void ProtectedNode::disableCascadeOpacity()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProtectedNode::setCameraMask(unsigned short mask, bool applyChildren)
|
||||||
|
{
|
||||||
|
Node::setCameraMask(mask, applyChildren);
|
||||||
|
if (applyChildren)
|
||||||
|
{
|
||||||
|
for (auto& iter: _protectedChildren)
|
||||||
|
{
|
||||||
|
iter->setCameraMask(mask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
NS_CC_END
|
NS_CC_END
|
||||||
|
|
|
@ -163,6 +163,7 @@ public:
|
||||||
virtual void updateDisplayedColor(const Color3B& parentColor) override;
|
virtual void updateDisplayedColor(const Color3B& parentColor) override;
|
||||||
virtual void disableCascadeColor() override;
|
virtual void disableCascadeColor() override;
|
||||||
virtual void disableCascadeOpacity()override;
|
virtual void disableCascadeOpacity()override;
|
||||||
|
virtual void setCameraMask(unsigned short mask, bool applyChildren = true) override;
|
||||||
CC_CONSTRUCTOR_ACCESS:
|
CC_CONSTRUCTOR_ACCESS:
|
||||||
ProtectedNode();
|
ProtectedNode();
|
||||||
virtual ~ProtectedNode();
|
virtual ~ProtectedNode();
|
||||||
|
|
|
@ -1335,4 +1335,17 @@ namespace ui {
|
||||||
return this->getScaleX();
|
return this->getScaleX();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Scale9Sprite::setCameraMask(unsigned short mask, bool applyChildren)
|
||||||
|
{
|
||||||
|
Node::setCameraMask(mask, applyChildren);
|
||||||
|
|
||||||
|
if(_scale9Image)
|
||||||
|
_scale9Image->setCameraMask(mask,applyChildren);
|
||||||
|
|
||||||
|
for(auto& iter: _protectedChildren)
|
||||||
|
{
|
||||||
|
iter->setCameraMask(mask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -376,6 +376,7 @@ namespace ui {
|
||||||
virtual float getScaleY() const override;
|
virtual float getScaleY() const override;
|
||||||
virtual float getScale() const override;
|
virtual float getScale() const override;
|
||||||
using Node::getScaleZ;
|
using Node::getScaleZ;
|
||||||
|
virtual void setCameraMask(unsigned short mask, bool applyChildren = true) override;
|
||||||
protected:
|
protected:
|
||||||
void updateCapInset();
|
void updateCapInset();
|
||||||
void updatePositions();
|
void updatePositions();
|
||||||
|
|
Loading…
Reference in New Issue