swift没有嵌套类吗?
例如,我似乎无法从嵌套类访问主类的属性测试.
class master{
var test = 2;
class nested{
init(){
let example = test; //this doesn't work
}
}
}
Run Code Online (Sandbox Code Playgroud) 有没有人在java中有一个函数来找到点和线段/边之间的最短距离?我找到的每个例子都是用另一种语言编写的,并使用了一堆子函数。它不能基于它们是垂直的假设。
更新
我将python函数移植到java。如果有人擅长数学并且可以验证,我将不胜感激。x 和 y 是点,其他参数是线段。
public float pDistance(float x, float y, float x1, float y1, float x2, float y2) {
float A = x - x1;
float B = y - y1;
float C = x2 - x1;
float D = y2 - y1;
float dot = A * C + B * D;
float len_sq = C * C + D * D;
float param = -1;
if (len_sq != 0) //in case of 0 length line
param …Run Code Online (Sandbox Code Playgroud) 我收到'kCGImageAlphaPremultipliedLast'的未解决的标识符错误.斯威夫特找不到它.这可以在Swift中使用吗?
var gc = CGBitmapContextCreate(&pixelData, width: width, height: height, bitsPerComponent: 8, bytesPerRow: width*4, imageCS, bitmapInfo: kCGImageAlphaPremultipliedLast);
Run Code Online (Sandbox Code Playgroud) 在swift中,我得到了deinit函数来打印出一条线,表示该对象已被初始化,但该对象仍然被报告为在Instruments,allocations工具中生效.我认为这甚至不可能.有没有办法找出它没有被释放的原因?或者有没有办法找出哪些儿童对象可以举起它?
我想把它转换成swift,或者至少找到做同样事情的东西.
size_t width = CGImageGetWidth(spriteImage);
size_t height = CGImageGetHeight(spriteImage);
GLubyte * spriteData = (GLubyte *) calloc(width*height*4, sizeof(GLubyte));
Run Code Online (Sandbox Code Playgroud)
我需要以正确大小的swift初始化spriteData指针.
我正在迅速实现两个协议, GADCustomEventInterstitial和GADCustomEventBanner。
这两个协议都需要一个名为的属性delegate。delegate每种协议中的术语是不同的类型,因此会产生冲突。
class ChartBoostAdapter : NSObject, GADCustomEventInterstitial, GADCustomEventBanner, ChartboostDelegate{
var delegate:GADCustomEventInterstitialDelegate?; // Name conflict
var delegate:GADCustomEventBannerDelegate?; // Name conflict
override init(){
}
...
}
Run Code Online (Sandbox Code Playgroud) 当使用Swift创建OpenGL应用程序时,每当我使用OpenGL命令时都会出现此错误,例如:
glBindRenderbuffer(GL_RENDERBUFFER, self.colorRenderBuffer)
Run Code Online (Sandbox Code Playgroud)
我收到错误' Int32'不能转换为' Glenum'
任何想法如何解决这一问题?
在第一个函数中,我无法弄清楚我做错了什么.它在行中返回一个错误, 返回compileShader(GLenum(GL_VERTEX_SHADER),ShaderCode)错误是无法使用类型'($ t3,NSString)'的参数列表调用'init'
class ShaderHelper{
class func compileVertexShader(ShaderCode: NSString) ->GLint{
return compileShader(GLenum(GL_VERTEX_SHADER), ShaderCode)
}
class func compileShader(type: GLenum, shaderCode: NSString) -> GLuint{
var shaderObjectId = glCreateShader(type);
if(shaderObjectId == 0){
if(LoggerConfig.props.On){
println("Could not create new shader!")
}
return 0
}
var shaderStringUTF8 = shaderCode.cStringUsingEncoding(NSUTF8StringEncoding)
var shaderStringLength: GLint = GLint(Int32(shaderCode.length));
glShaderSource(shaderObjectId, 1, &shaderStringUTF8, &shaderStringLength)
glCompileShader(shaderObjectId)
var compileStatus = GLint()
glGetShaderiv(shaderObjectId, GLenum(GL_COMPILE_STATUS), &compileStatus)
if(compileStatus == 0){
if(LoggerConfig.props.On){
println("Compilation of shader failed.")
}
glDeleteShader(shaderObjectId)
return 0
}else if (compileStatus == 1){
if(LoggerConfig.props.On){ …Run Code Online (Sandbox Code Playgroud) 我在opengl es中的android上画一条线。这条线画得很好。唯一的问题是,无论相机距离相机多近或多远,线条都保持相同的粗细。有什么解决办法吗?
我通常不会在堆栈溢出中发布它,但我找不到脚本文件夹的位置。我想为搅拌机编写一个自定义导出器,我需要查看波前 .obj 导出脚本并以此为基础。我查看了我的 Blender.app 并搜索了 .blender,但我什么也没找到。
例如:
我在数组中的第一列首先按数字顺序排列。第二列在数字上是随机的。我想按顺序放置第二列,这当然会迫使第一列乱序。任何想法如何在java中做到这一点。我已经搜索过,但似乎无法找到正确找到它的词汇。
当我尝试将某些纹理加载到我的opengl应用程序中时,对于看似压缩的.png文件,出现了不受支持的颜色空间错误。
如果右键单击并检查失败的纹理,则它们具有以下属性。
颜色配置文件:sRGB IEC61966-2.1
.png似乎在压缩时会获得此属性。我真的很想拥有此功能,因为它可将纹理大小减少约50%。
这是我的纹理加载代码:
-(GLubyte *) generatePixelDataFromImage: (UIImage *) pic{
GLubyte *pixelData = (GLubyte *) calloc(width * height *4, sizeof(GLubyte));
CGColorSpaceRef imageCS = CGImageGetColorSpace(pic.CGImage);
CGBitmapInfo bitmapInfo = (CGBitmapInfo) kCGImageAlphaPremultipliedLast;
CGContextRef gc = CGBitmapContextCreate(pixelData, width, height, 8, width*4, imageCS, bitmapInfo);
CGContextDrawImage(gc, CGRectMake(0, 0, width, height), pic.CGImage);
CGContextRelease(gc);
return pixelData;
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
错误:CGBitmapContextCreate:不支持的色彩空间。2月14日13:11:59 Garretts-iPhone myApp [712]:CGContextDrawImage:无效上下文0x0。这是一个严重的错误。此应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性整体下降。此通知是礼貌的:请解决此问题。在即将进行的更新中,它将成为致命错误。
无论如何,是否仍可以通过编程方式转换纹理,同时还能受益于减少存储空间?