小编Jon*_*nny的帖子

比较两个相等的CGFloat:s,得到正(YES)结果

到目前为止,这不是一个问题,但从今天开始我遇到了一个不会一直发生的奇怪问题,但很少,我会说50次中有一次,甚至更少.

我正在比较两个CGFloat:s是这样的:

const CGFloat MYFIRSTFLOAT = /* get the first value */
const CGFloat THESECONDFLOAT = /* get the second value */
if (MYFIRSTFLOAT < THESECONDFLOAT) {
// do something
}
else {
// Do something else
}
Run Code Online (Sandbox Code Playgroud)

你可以看到我没有比较使用==或任何东西,因为它们是浮点数...(比如,它应该与比较浮点值的危险程度无关现在应该如此)

而我遇到的问题是我遇到两个值完全匹配的情况,但比较评估为YES.在我的情况下,两个值都是"8926.5" - 这是我从LLDB获得的值.有没有一个很好的解释??? (我认为LLDB对这两个值进行四舍五入,这意味着它们可能真的是其他值 - 但为什么这也会在运行时发生呢?)

这种让我失望的原因我不能只看到问题......好吧,我正在考虑强制浮点数只用于这个比较,这次我可能没问题,但我觉得这个问题最好完全理解:-P

cgfloat ios

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

在脚本中导出rep checkout时出错

尝试使用bash脚本将rep checkout导出到文件夹时出现此错误:

svn: E125001: Couldn't determine absolute path of '.'
svn: E000002: No such file or directory
Run Code Online (Sandbox Code Playgroud)

在终端中执行相同的导出命令.

svn macos bash

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

从Unity 4.6中的C#脚本创建UI按钮,不带任何预制件

如何在Unity 4.6中创建带有文本标签的普通按钮,而不使用任何预制件或克隆现有游戏对象?我将使用该按钮进行调试,因此我不想使用此按钮来混淆设计层次结构.

2d button unity-game-engine

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

Inspector 左上角的复选框在 Unity 中有何作用?

Unity (4.6) Inspector 左上角有一个复选框。我可以取消选中它来“隐藏”图像、按钮等等。它到底有什么作用?我可以从脚本中取消隐藏所述对象吗?我确实尝试打开和关闭 .enabled 但没有任何反应;如果未选中该复选框,我将无法从脚本中再次显示该元素。不幸的是,在设计 2D 游戏场时,您通常希望首先将所有图形放置到画布上以使其合适,然后将其隐藏,以获得画布设计的一种默认的空状态。否则,所有可能的标签和仅偶尔显示的内容都会使 Unity 编辑器中的设计画布变得混乱。

  • 我没有找到任何相关和/或最新的文档。

2d unity-game-engine

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

无需抬起手指即可从一个按钮滑动到另一个按钮

我有两个按钮(按钮1和按钮2),如果我按下按钮1,则note1开始,如果我按下按钮2,则注2开始.

所以我尝试做的是:按下按钮1(note1启动)和SLIDE到按钮2,然后按下note2开始.如同你所做的那样,你不用手指在钢琴键盘上滑动,而是从c到h发出所有音符.

我这样做了UIImageViews,我也做了UIButtons.

如果我按c1pianoview它听起来是"c".如果我按d1pianoview它听起来是"d".

但如果我滑动而不抬起手指c1pianoview,d1pianoview它只会发出"c"声.我错了什么?我也可以这样做UIButtons吗?

触地得分,但滑动不起作用.

请问有人可以帮助我吗?这是我的代码:

-(void)touchesBeganNSSet *)touches withEventUIEvent *)event
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint location = [touch locationInView:touch.view];

    if(CGRectContainsPoint(c1pianoview.frame, location))
    { 
      NSString *path = [[NSBundle mainBundle]
      pathForResource: @"c1piano" ofType:@"mp3"];
      AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] 
          initWithContentsOfURL:[NSURL fileURLWithPathath] error:NULL];
      [theAudio play];
    }

    if(CGRectContainsPoint(d1pianoview.frame, location))
    { 
      NSString *path = [[NSBundle mainBundle]
      pathForResource: @"d1piano" ofType:@"mp3"];
      AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] 
          initWithContentsOfURL: [NSURL fileURLWithPathath] error:NULL];
      [theAudio play];
    } …
Run Code Online (Sandbox Code Playgroud)

iphone sliding touchesmoved

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

编译cocos2d-iphone v2.x包括arm64

编译cocos2d-iphone v2.x并包含arm64体系结构时发生错误.错误发生在kazmath的汇编代码中.有没有解决这个问题?(除了删除arm64)

库/ kazmath/src目录/ neon_matrix_impl.c:

asm中未知的寄存器名称'q0'

好吧,也许没什么大不了的......用现有代码完全支持iPhone 5s等会很好.我想这是固定的或将在cocos2d 3.x行修复.https://github.com/cocos2d/cocos2d-iphone/issues/534

64-bit arm cocos2d-iphone ios cocos2d-iphone-2.x

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

C++中的无序集合,为什么需要哈希?

我只想将几个对象存储在无序集中。创建几组,

auto set1 = std::unordered_set<Myclass>();
Run Code Online (Sandbox Code Playgroud)

我有时会遇到很多这样的错误:

未定义模板 'std::__1::hash' 的隐式实例化

除了 unordered_set 之外,还有其他开箱即用的替代方案吗?为什么需要“哈希”?

c++ hash set

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

当SceneKit动画停止时,SceneKit上SpriteKit叠加的动画停止

我想以前有人必须问过这个问题,但我现在找不到它,所以同时这里也有.

当SceneKit动画停止时,SceneKit上SpriteKit叠加的动画停止.这是出乎意料的.就像整个SCNView和它的孩子一旦3D内容不移动就进入睡眠状态.如何使spritekit场景动画独立于scenekit场景的作用?更新:我已经确认,如果我添加一个无限旋转的简单3D框并将其保留在视图某处,则3D场景不会"休眠",叠加也不会.是否有某个设置可以阻止SceneKit部分进入睡眠状态?

背景:我用SCNView.overlaySKScene.我有一个无限期重复的动画,其中一个重叠的子节点.只要一个动作和/或动画的SceneKit场景的推移,覆盖2D的东西也动画,但只要3D动画停止停止.

iOS 9.2.1.

ios scenekit sprite-kit

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

在Xcode 8中"始终使用Y-Up轴"去了哪里?

我们曾经在Xcode中选择"始终使用Y-Up轴"切换(至少在Xcode 7之前,我认为).它已经在当前的Xcode 8.2.1中消失了,并且可能从8.1甚至8.0开始消失.为什么?还是隐藏在其他地方?任何解决方法?

更新:我在2014年的WWDC演讲中找到了相关的引用:

将3D资产添加到游戏中的方式只是SceneKit资产目录.

SceneKit资产目录是Xcode 6中的新功能,SceneKit资产目录是Xcode 6中的新功能,它们允许您组织和优化3D资产.

当SceneKit资产目录被复制到目标中时,它们的结构将被保留.

此外,它们会自动跟踪添加到光盘上或从光盘上删除的文件.

它们非常方便,因为它们可以为您优化3D资产.

例如,它们有助于轴上转换.

SceneKit跟随向上轴转换,这意味着正y轴是查找的轴.

这是一个遵循许多其他应用程序和框架的约定,但是一些导出器以不同的方式执行操作并使用az up轴约定.

使用SceneKit资产目录,您不必考虑这一点.

我们会自动且透明地转换场景中的所有动画和几何图形,以便它们遵循向上轴约定.

取自http://asciiwwdc.com/2014/sessions/610 视频,网址:https://developer.apple.com/videos/play/wwdc2014/610/

以上似乎描述了场景套件资产目录.它实际上并没有回答我的问题; 为什么从当前的Xcode中删除该功能.我还可以确认幕后没有转换.如果更改了Y位置,从Blender导出的模型总是会更接近或远离相机.在运行时它是相同的.

3d xcode scenekit

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

无法解析符号 PlayerView

出现错误:

无法解析符号 PlayerView

尝试使用Exoplayer2,我应该将它附加到PlayerView. 问题是 Android Studio 无法在任何地方找到 PlayerView。

我在 gradle 文件中的导入如下所示。

implementation 'com.google.android.exoplayer:exoplayer-core:r2.4.0'
implementation 'com.google.android.exoplayer:exoplayer-ui:r2.4.0'
implementation 'com.google.android.exoplayer:exoplayer-hls:r2.4.0'
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

android exoplayer2.x

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