只显示CCLayer部分特定区域的方法
来源:互联网 发布:电子兑换码软件 编辑:程序博客网 时间:2024/05/16 04:44
- (void) beforeDraw{
glEnable(GL_SCISSOR_TEST);
const CGFloat s = [[CCDirector sharedDirector] contentScaleFactor];
const int w = 90, h = 111;
glScissor(self.position.x *s + w,
self.position.y * s + h,
self.contentSize.width*s - 2*w,
self.contentSize.height*s - 2*h);
}
- (void) afterDraw{
glDisable(GL_SCISSOR_TEST);
}
- (void) visit{
// quick return if not visible
if (!visible_)
return;
glPushMatrix();
if ( grid_ && grid_.active) {
[grid_ beforeDraw];
[self transformAncestors];
}
[self transform];
[self beforeDraw];
if(children_) {
ccArray *arrayData = children_->data;
NSUInteger i = 0;
// draw children zOrder < 0
for( ; i < arrayData->num; i++ ) {
CCNode *child = arrayData->arr[i];
if ( [child zOrder] < 0 )
[child visit];
else
break;
}
// self draw
[self draw];
// draw children zOrder >= 0
for( ; i < arrayData->num; i++ ) {
CCNode *child = arrayData->arr[i];
[child visit];
}
} else
[self draw];
[self afterDraw];
if ( grid_ && grid_.active)
[grid_ afterDraw:self];
glPopMatrix();
}
glEnable(GL_SCISSOR_TEST);
const CGFloat s = [[CCDirector sharedDirector] contentScaleFactor];
const int w = 90, h = 111;
glScissor(self.position.x *s + w,
self.position.y * s + h,
self.contentSize.width*s - 2*w,
self.contentSize.height*s - 2*h);
}
- (void) afterDraw{
glDisable(GL_SCISSOR_TEST);
}
- (void) visit{
// quick return if not visible
if (!visible_)
return;
glPushMatrix();
if ( grid_ && grid_.active) {
[grid_ beforeDraw];
[self transformAncestors];
}
[self transform];
[self beforeDraw];
if(children_) {
ccArray *arrayData = children_->data;
NSUInteger i = 0;
// draw children zOrder < 0
for( ; i < arrayData->num; i++ ) {
CCNode *child = arrayData->arr[i];
if ( [child zOrder] < 0 )
[child visit];
else
break;
}
// self draw
[self draw];
// draw children zOrder >= 0
for( ; i < arrayData->num; i++ ) {
CCNode *child = arrayData->arr[i];
[child visit];
}
} else
[self draw];
[self afterDraw];
if ( grid_ && grid_.active)
[grid_ afterDraw:self];
glPopMatrix();
}
0 0
- 只显示CCLayer部分特定区域的方法
- CCLayer中如何 控制只显示特定的区域
- CCLayer中如何 控制只显示特定的区域
- CCLayer 如何 控制 只显示 特定的区域
- 裁剪cclayer,显示特定区域
- 实现CCLayer只显示一个矩形可见区域
- CCLayer 指定显示区域
- CCLayer 指定显示区域
- CCLayer 指定显示区域
- CCLayer 指定显示区域
- CCLayer 指定显示区域
- cclayer的区域
- 内容显示到iframe的特定区域
- emeditor只显示特定类型的文件
- Fiddler只显示特定的进程
- 安卓加载webView只显示部分网页的方法
- 谈谈CCLayer的区域到底有多大?
- cocos2d-x 基于CCClippingNode实现CCLayer遮罩功能,在滑动时超出剪切区域的实现显示部分的效果,不需要再借助其他sprite来遮挡了
- eclipse 导出jar包
- Android小技巧(三):调试程序执行流程的小技巧
- 屏蔽系统热键
- 快速判断你的电脑是否适合安装win8系统
- [Android]attrs.xml文件中属性类型format值的格式
- 只显示CCLayer部分特定区域的方法
- arcgis各种数据类型简介
- 计算机类中文核心期刊
- PopupWindow Android
- jQuery ajax - ajax() 方法(十七)
- GTP协议循序渐进(三)----通过实例了解TEID
- 构造HTTP请求Header实现"伪造来源IP"
- js大全(持续更新中)
- brctl配置实例