- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 CCSprite
需要从一端逐渐线性耗尽,比方说从左到右。为此,我正在尝试更改 textureRect
Sprite 的属性,以便从一端耗尽的部分在 Sprite 的显示框架“之外”。
我之前用从 spritesheet 加载的 sprite 做过这种事情。它工作得很好。但是我创建了这个 CCSprite
使用 CCRenderTexture
并通过更改textureRect
属性,整个 Sprite 消失。
第一张图片是我从 CCRenderTexture 获得的原始 CCSprite。第二张图片显示了我想要实现的效果。需要省略 Sprite 的黑色虚线矩形部分。只需要 Sprite 的蓝色虚线部分被显示。本质上,这个蓝色虚线矩形是我的 textureRect。
有什么方法可以让我的 Sprite 从一端缩小。另外,正常创建的 Sprite 和使用 CCRenderTexture
创建的 Sprite 之间有什么区别吗?
最佳答案
在使用一些低级 hack 之前,我已经做过类似的事情。
如果您使用 CCProgressTimer
,有一个变通解决方案,这非常简单,我认为对于您的示例来说应该足够了。
但是您在评论中说您有一些特殊
要求,例如“同时从两端用尽”,然后需要一些低级 hack。我对上一个对象的解决方案是:
1) 获取纹理图像的原始数据。在 cocos2d 中,您可以使用 CCRenderTexture
,在 cocos2d-x 中,您可以使用 CCImage
。
2) CCRenderTexture
有一个方法 - (BOOL) saveToFile: (NSString *) name
。您可以阅读其源代码,然后尝试将其保存到二维数组中,而不是像
格式:(tCCImageFormat)格式byte raw[1024][768]
那样。这个数组中的每个元素代表你图片上的一个像素(类型可能不是byte
,我不确定,差点忘了细节)。格式必须是 PNG,因为需要透明度。
3)直接修改原始数据,设置像素的透明度为0x0,你希望它消失。
4) 使用您修改的图片数据重新初始化一个CCRenderTexture
。
我不能直接提供代码,因为这是我的一个项目的商业 secret 和核心部分。但我可以与您分享我的解决方案。您还需要了解 PNG 文件的工作原理。阅读:
https://en.wikipedia.org/wiki/Portable_Network_Graphics#File_header
关于cocos2d-iphone - 更改由 CCRenderTexture 创建的 CCSprite 的 textureRect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16041268/
我在将 OALSimpleAudio 导入我的 Cocos 2.X 项目时遇到了很多麻烦。 该应用程序相当大。 我将 Cocos 3.0 导入现有项目的最佳方式是什么? 最终错误如下所示: 这是我到目
Tensorflows object_detection 项目的 labelmaps 包含 90 个类,虽然 COCO 只有 80 个类别。 因此参数num_classes在所有示例配置中设置为 90
我正在使用Cocos2d-x v3.9,并且在iOS模拟器中看到某些行为,该行为仅在执行命令cocos run -p mac时出现。如果我通过XCode构建项目,则不会看到相同的行为。 Cocos和X
我正在使用 Cocos creator 创建一个仅适用于网络浏览器的简单游戏,并且需要实现一个分享到 twiiter 按钮。但我需要用普通的 javascript 来做到这一点。到目前为止,我有这段代
在我的 appDelegate 类中,我有类似这样的代码, while using cocos studio auto glview = director->getOpenGLView();
我有一个渲染循环,我想在后台运行,以便我可以控制播放循环的速度,使其动画缓慢或快速。现在,每次我想使用 Sprite 时,我都会使用 sleep 并在主线程中的 CCRenderTexture 上调用
下面是我的 HelloWorld.h 类: class HelloWorld : public cocos2d::CCLayer { public: HelloWorld(); // Here's a
我想在 cocos 2d 中用手指触摸画线。 -(void) ccTouchesMoved:(NSSet *)inappropriateTouches withEvent:(UIEvent *)eve
我是 cocos creator 和 JavaScript 编程的新手,最近 cocos creator 在其引擎中添加了“集成 Box2D 物理引擎”。我想知道我是否可以使用 ' liquidFun
我能够使用下面的代码和 COCO API 过滤图像,我为我需要的所有类多次执行此代码,这是类别 person 的示例,我这样做了用于 car 等 我现在要做的,是过滤数据集(instances_tra
我一直在检查这个detr repository类别总数为 100,但其中 10 个是空字符串,如图所示 here . 这背后有什么特别的原因吗? 最佳答案 基本上,COCO 数据集在其发布之前已在一篇
对于一个项目,我需要一个可以检测许多不同物体的检测器。为此,COCO 的 90 个类是不够的,因为我希望能够看到更多。 例如,我已经看到 imagenet 有更多的类,但是我找不到训练来检测 imag
在我的一个 iPhone 应用程序中,我需要查明该设备是否有互联网连接。有人帮忙吗? 最佳答案 使用可达性类。 if([self checkInternetConnected] ) {
我想用 Delphi 编写一个简单的编译器用于教育目的。我读过 Coco/R 并发现了 Delphi 的这个实现:http://code.google.com/p/dcocor/ 。据我所知,这是 D
关闭。这个问题需要更多 focused .它目前不接受答案。 想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this q
我正在尝试使用 https://github.com/jsbroks/coco-annotator 用 COCO 关键点注释图像以进行姿势估计。如安装部分所述,我克隆了存储库。我安装了 Docker
我正在使用 Mask-RCNN 并希望训练我自己的几类 coco 风格的数据集。一开始,我只有 2 个类(除了背景)。 虽然 Mask-RCNN 带有样本数据集,但它们要么只包含一个类,要么自己生成数
有谁知道如何更新Cocos 2D-x上的标签文本吗?我在cocos studio上创建了一个标签,现在我尝试通过我的代码访问和更改其内容。 我正在寻找 JavaScript 中的具体代码行,但我只在
我有一个 cocos2d-x 场景和上面的 Button。我尝试添加触摸事件监听器并为其提供回调函数: preloadScene.h: ... public: virtual void Do(Touc
我是cocos2d-js游戏开发的初学者,这两天正在学习。我尝试通过 cocos 命令运行我的项目,但它显示的 cocos 命令不被识别为内部或外部命令。我已按照此链接创建并运行项目 http://c
我是一名优秀的程序员,十分优秀!