小编Pop*_*nel的帖子

SceneKit Editor修改重复元素更改原始元素

在SceneKit编辑器中,如果我使用复制粘贴或通过选项拖动复制节点,则生成的节点将以某种方式"链接"到原始节点.尝试以除位置之外的任何方式修改此新节点也会更改原始属性.这是令人愤怒的,我如何将重复节点与原始节点"取消链接"?

更新:每个请求,这是我描述的行为的视频:https://www.dropbox.com/s/vtcom4iejjdtjv0/SceneKit%20Weirdness.mov?dl = 0

xcode scenekit

5
推荐指数
1
解决办法
371
查看次数

Swift无法将Range分配给变量?

我正试图想出一种从HTML页面中提取图像的方法.(我还没有看到这是如何实际完成的,我只是想从头开始提出一些事情,所以不要判断)无论如何,到目前为止我编写的代码都会出错"Cannot assign a value of type Range<Index>? to a value of type Range<Int>?"

//variable "html" has type String
        let variations = ["img","IMG","Img"]
        var tagStart: Range<Int>?
        var index = 0
        repeat
        {
           tagStart = html.rangeOfString(variations[index]) //Cannot assign a value of type Range<Index>? to a value of type Range<Int>?
            index += 1
        }while( tagStart == nil );
Run Code Online (Sandbox Code Playgroud)

好的,所以Range的类型是Index,而不是Int.但是当我尝试更改声明时,我收到"Use of undeclared type 'Index'"错误.所以现在它告诉我索引是我想象中的一个虚构?

//variable "html" has type String
        let variations = ["img","IMG","Img"]
        var tagStart: Range<Index>?
        var index = 0
        repeat …
Run Code Online (Sandbox Code Playgroud)

cocoa variable-assignment swift

4
推荐指数
1
解决办法
1133
查看次数

如何在精灵套件节点的纹理上关闭抗锯齿

我正在尝试将测试游戏放在Sprite Kit中.我有一些代码使用一对尺寸为200*572的PNG图像创建一块地面.

let textures = [SKTexture(imageNamed: "GrassAni1"), SKTexture(imageNamed: "GrassAni2")]

for (var i = 0; i < 10; i += 1) {
    let chunk = SKSpriteNode(texture: textures[0])
    chunk.position = CGPointMake(CGFloat(200 * i), 0)
    let animate = SKAction.animateWithTextures(textures, timePerFrame: 1)
    chunk.runAction(SKAction.repeatActionForever(animate))
    //boilerplate physics body code…
    self.addChild(hero)
}
Run Code Online (Sandbox Code Playgroud)

输入我的问题.这是我在Xcode文件查看器中的精灵的近距离:在此输入图像描述

这是游戏运行时的样子:在此输入图像描述 游戏中的精灵似乎是消除锯齿的,因此看起来很模糊.如何防止这种情况并使游戏看起来像原始图像一样清晰?

macos cocoa-touch ios sprite-kit swift

4
推荐指数
1
解决办法
1020
查看次数

如何将swift结构保存到文件中

我想对我的应用程序的(非常简单的)模型使用结构.

但是NSKeyedArchiver只接受对象(扩展NSObjects).

有没有什么好方法可以将结构保存到文件中?

serialization struct ios swift

4
推荐指数
1
解决办法
2683
查看次数

NSURLSession 3xx重定向和完成处理程序

我有一个dataTask + completionHandler方法从Web服务器下载数据.到目前为止,我实现了这个:

let task = session.dataTaskWithURL(url, completionHandler: {
        (pageData,response,error) in
...
...
let code = urlHttpResponse.statusCode
switch code {
case 200:
     self.fetchedPages.updateValue(pageData, forKey: pageNumber)
case 404:
    self.fetchedPages.updateValue(nil, forKey: pageNumber) //No data exists for that page
default:
    self.fetchedPages.updateValue(nil, forKey: pageNumber) //No gurantee data exists for that page
}
NSNotificationCenter.defaultCenter().postNotificationName("pageDataDownloaded", object: self, userInfo: ["numberForDownloadedPage":pageNumber])
Run Code Online (Sandbox Code Playgroud)

我想知道如果statusCode是3xx错误会发生什么?pageData是否包含重定向位置的数据?换句话说,我应该补充一下

case _ where code >= 300 && code < 400:
    self.fetchedPages.updateValue(pageData, forKey: pageNumber)
Run Code Online (Sandbox Code Playgroud)

或者是否会使用包含重定向位置的值的pageData和新的200状态代码再次调用处理程序?或者是正确处理重定向的东西我只能使用委托吗?

macos foundation ios nsurlsession swift

3
推荐指数
1
解决办法
1445
查看次数

Firefox 这个页面没有资源

我正在开发一个 JavaScript 游戏,它在 Chrome 和 Safari 中按预期工作。但是,在 Firefox 中,页面不会加载任何脚本,并且调试器是空的。我根本没有看到任何错误。这是整个html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <canvas id="canvas"></canvas>
    <script type="module" src="foo.js"></script>
    <script type="module" src="bar.js"></script>
    <script type="module" src="baz.js"></script>
    <script type="module" src="qux.js"></script>
    <script type="module" src="foobar.js"></script>
    <script type="module" src="bazqux.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

更新:为未来的读者添加了一些上下文:根据 Roko C. Buljan 的回答,事实证明,在撰写本文时,FireFox 中默认未启用 ES6 模块。这就是问题所在。

html javascript

3
推荐指数
1
解决办法
2556
查看次数

当我们写[NSString new]时,为什么我们有[NSString string]?

显然我不只是指NSString; 有[NSDictionary dictionary],[NSArray array]等等.但是,为什么有这些方法时,我们可以只发送[NSDictionary new],[NSArray new]等等?

cocoa cocoa-touch constructor

2
推荐指数
1
解决办法
91
查看次数

在Netbeans 8中找不到/ dist目录

我正在尝试将项目导出为NetBeans 8中的.jar,我意识到它应该自动保存.我发现的所有资源都指出它应该位于<myProjectFolder>/dist,但该目录不存在 - 是否有必须切换的设置?

java netbeans java-8

2
推荐指数
1
解决办法
6370
查看次数

如何使用Swift在SceneKit中调试自定义几何体

我正在尝试学习如何在SceneKit中创建自定义几何体.但是,我试图制作一个三角形并且它没有显示任何东西.我不知道如何调试这个.有没有办法弄清楚三角形是否有效?我只是不知道从哪里开始.

作为参考,有问题的游乐场代码如下.请注意,它是针对Swift 4编写的,但Swift 3和Swift 4之间的变化非常小,以至于在Swift 3中编译它是微不足道的.

import UIKit
import SceneKit

let points = [
    SCNVector3Make(0, 0, 0),
    SCNVector3Make(0, 10, 0),
    SCNVector3Make(10, 0, 0),
]
let indices = [
    0,2,1,
]

let vertexSource = SCNGeometrySource(vertices: points)
let element = SCNGeometryElement(indices: indices, primitiveType: .triangles)
let geo = SCNGeometry(sources: [vertexSource], elements: [element])
Run Code Online (Sandbox Code Playgroud)

macos ios scenekit swift

2
推荐指数
2
解决办法
521
查看次数

将存储在变量中的函数指定为对象文字中的getter

说我有一个功能.如果我想将它作为方法添加到对象,我会使用:

let foofunc = function() {}
{
  foo: foofunc
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我想将其添加为吸气剂怎么办?你认为我可以这样做:

{
  get x: foofunc
}
Run Code Online (Sandbox Code Playgroud)

但我的IDE抱怨,所以我认为这是不可能的.我该怎么做?

javascript

2
推荐指数
1
解决办法
36
查看次数