- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试翻译时 this在 Swift 中,我发现我的代码无法编译
let movementShader = SKShader(fileNamed: "reflection.fsh")
movementShader.addUniform(SKUniform(name: "size", SCNVector3: SCNVector3Make(0.0, 0.0, 0.0)))
说我在通话中有一个额外的参数。
这里很新,有什么想法吗?
谢谢
最佳答案
这是一个示例实现。在 SKShader
上创建一个 Objective-C 类别,我称之为 Union
。在 .h 文件中声明一个方法:
#import <SpriteKit/SpriteKit.h>
@interface SKShader (Unions)
+(SKShader*)shaderForX:(float)x y:(float)y z:(float)z;
@end
然后进入.m文件并实现:
#import "SKShader+Unions.h"
@implementation SKShader (Unions)
+(SKShader*)shaderForX:(float)x y:(float)y z:(float)z
{
SKShader *shader = [SKShader shaderWithFileNamed:@"shader.fsh"];
SKUniform *texture = [SKUniform uniformWithName:@"customTexture" texture:[SKTexture textureWithImageNamed:@"shade"]];
SKUniform *uniformSCNVector = [SKUniform uniformWithName:@"size" floatVector3:GLKVector3Make(x, y, z)];
[shader setUniforms:@[texture,uniformSCNVector]];
return shader;
}
@end
不要忘记为您的项目创建一个桥接头。这是一个名为 "YourProjectName-Bridging-Header.h"
的 .h 文件,包含 #import "SKShader-Unions.h"
指令。
现在你可以从 Swift 文件调用:
let shader = SKShader(forX: x, y: y, z: y)
关于ios - iOS 8 中的 SKShader,swift 中没有 GLVector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26829724/
带有固定相机的视差背景很容易实现,但由于我正在制作自上而下的 2D 空间探索游戏,我认为有一个 SKSpriteNode 填充屏幕并成为我的 SKCameraNode 的子项并使用 SKShader
在我正在开发的游戏中,我使用多个图层来管理背景风景,如下所示: 背景 背景障碍 前景障碍 我正在使用位移着色器来创建波纹效果,但我不确定如何将其应用到整个背景部分。每层都是一个单独的 SKNode,我
我正在尝试为我正在开发的应用程序编写一个片段着色器。我将我的制服传递到可以工作的着色器中,但它适用于整个对象。我希望能够逐个像素地修改对象。所以我现在的代码是.... let shader = SKS
我正在玩 SKShader for iOS。 void main() { vec4 val = texture2D(u_texture, v_tex_coord); float len = 0
我查看了 SKShader,以便在一些 Sprite 四处移动的应用程序中获得一些水汪汪的效果。基于本教程 Making a Pixel Shader for iOS8 with Sprite Kit
在 SpriteKit 节点上,我运行片段着色器 (SKShader) 来显示动画 (canvasNode.fillShader = shader)。 在某些时候,我想增加一个统一参数(transit
对于不使用已定义的变量,我从未遇到过如下所示的莫名其妙的行为。该代码是通过将一个大型程序煞费苦心地简化为显示问题所需的最低限度而产生的。 我的 SKScene 中的以下代码创建了三个 sprite 并
是否可以向 SKShader 添加参数 OpenGL?我需要在 SKShader 中有一个重复的纹理。 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_
我正在尝试在我的 spritekit 2d 像素艺术游戏中应用调色板交换功能,但似乎在应用 SKShader 时忽略了 SKSpriteNode 纹理上的 filteringMode。 因此,我认为我
u_time着色器中的变量告诉您当前时间。但是,如果您重用着色器(如 best practice according to Apple :“如果多个 Sprite 需要相同的行为,请创建一个着色器
尝试翻译时 this在 Swift 中,我发现我的代码无法编译 let movementShader = SKShader(fileNamed: "reflection.fsh") movementS
我对 SpriteKit 中着色器的概念和使用非常陌生。 我找到了这个关于如何使用自定义着色器文件渲染 Mandelbrot 分形的教程 - Fractal.fsh - 附加到 Color Sprit
我正在尝试在 SKScene 上创建全屏像素化效果。我了解到应该有两种选择来执行此操作: 使用 GLES 2.0 的自定义 SKShader。 使用 Core Image 滤镜。 我尝试添加一个自定义
我是一名优秀的程序员,十分优秀!