小编Rea*_*ion的帖子

在Swift中创建随机Bool

我需要在我的游戏中创建一个随机的bool值,在Swift中.

基本上,如果是(或1),则生成一个对象,如果否(或0),则生成另一个对象.

到目前为止,在这里查看这个问题和类似的问题,我发现了这个:

let randomSequenceNumber = Int(arc4random_uniform(2))
Run Code Online (Sandbox Code Playgroud)

现在它有效,但似乎偏向于0对我来说......就像荒谬的偏见......

这就是我如何使用该值:

if(randomSequenceNumber == 0)
    //spawn object A
else
    //spawn object B
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来使用随机bool值来实现它?那不是偏向某个值吗?

更新

在10,000次通话中产生了一个实验来看看有多少1人的比赛0:

func experiment() {
    var numbers: [Int] = []
    var tester: Int = 0
    var sum = 0

    for i in 0...10000 {
        tester = Int(arc4random_uniform(2))
        numbers.append(tester)
        print(i)
    }

    for number in numbers {
        sum += number
    }

    print("Total 1's: ", sum)
}

Test 1: Console Output: Total 1's: …
Run Code Online (Sandbox Code Playgroud)

random boolean swift swift2

27
推荐指数
3
解决办法
9923
查看次数

在没有循环的情况下找到GCD - R.

所以我正在尝试学习R并使用一些资源,包括一本名为"使用R发现统计数据"和其他一些很酷的电子书.

我理解编程中的一个很好的方法是Euclid算法.

在循环中实现它可以像这样实现:

 gcd(x,y) //assuming x is the largest value
 //do
 r = x%y;
 x = y;
 y = r;
 //while r != 0;
 return x;
Run Code Online (Sandbox Code Playgroud)

在Google上进行了几次搜索后,SO和Youtube刷新了我对gcd算法的记忆,我找不到一个不使用循环的内存.甚至递归方法似乎都使用循环.

如何在不使用循环或if语句的情况下在R中实现这一点?

提前致谢.

r greatest-common-divisor

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

错误C3861:'roundf':找不到标识符

我通常擅长谷歌搜索这样的东西,但这次我似乎找不到任何东西.

我从这里下载了一些源代码,它使用了一个名为的函数roundf.

我已经有了#include <math.h>并且作为第一个想法添加#include <cmath>但仍然有问题.我似乎无法找出函数的起源......

有替代功能吗?或者有人知道它来自哪里,所以我可以包括头文件?

c++

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

ITMS-90338:非公共 API 使用处理错误 - 以前工作

将二进制文件上传到 后App Store Connect,我收到了 Apple 发来的这封电子邮件:

ITMS-90338:非公共 API 使用 - 应用程序引用 [项目名称] 中的非公共选择器:callWithArguments:、estimatedProgress、frameInfo、getVersion、initWithFrame:configuration:、isMainFrame、navigationDelegate、navigationType、setNavigationDelegate:、setProcessPool:、 targetFrame、toDouble、toString、userContentController。如果源代码中的方法名称与上面列出的私有 Apple API 匹配,则更改方法名称将有助于防止此应用程序在将来的提交中被标记。此外,请注意,上述一个或多个 API 可能位于您的应用程序附带的静态库中。如果是这样,则必须将其删除。有关更多信息,请访问技术支持信息:http://developer.apple.com/support/technical/

但是,除了内部版本号从 增加到 之外1.21.2.1这与之前上传的(并且是实时的)完全相同的二进制文件。

我已经检查了 StackOverflow 上的其他问题,例如thisthis,但通常涉及第三方 SDK。

我完全感到困惑,因为我在项目的任何地方根本不使用这些方法名称......

这是刚刚发布的 iOS 16 的问题吗?谢谢。

xcode app-store-connect ios16

7
推荐指数
1
解决办法
3561
查看次数

在Matlab中确定图像是否为灰度

我正在编写一个可以拍摄图像并执行特定平滑任务的函数.在我的功能的最开始,我使用了将图像转换为灰度图像pic = rgb2gray(pic);

我希望允许该功能拍摄任何图像(即使它已经是灰度).在Matlab中,如果我传递一个灰度图像,它当前会出错,因为它无法转换它(很明显).

是否有内置功能或简单的方法来测试图像并确定其颜色格式?

我在google上阅读了有关isRGB和isGrayscale函数的内容,但它们已从更高版本的Matlab中删除...

如果它具有内置功能,我认为这样的东西会很酷.

     if (pic == RGB)
         do
          .
          .
          .
     elseif (pic == GrayScale)
         do
          .
          .
          .
     else 
         do
          .
          .
          .
Run Code Online (Sandbox Code Playgroud)

如果没有,也许我可以编写一个函数来获取pixel x,y并测试其值?

if (p(x,y) == ....或者其他的东西?我不确定......想法?

rgb matlab grayscale

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

touchesBegan 与 UITapGestureRecognizer

所以我正在使用 swift 制作 spritekit 游戏。我想知道哪种手势最适合使用?

目前我有一个override func touchesBegan处理所有点击和一个UILongPressGestureRecognizer处理长点击/按住。

所以你知道,轻按一下按钮并跳跃英雄。长时间的坚持会让英雄闪避。

由于某种原因,我的 longPress 函数并不总是被调用(有时你可以按住 10 次,然后它就停止被调用(无法识别),其他时候它是 5 次,它会有所不同),这导致了昨天一整天尝试新事物并进行调查,这让我想到了这个问题。

使用touchesBegan或将所有触摸调用移至由 处理的新函数是否更好UITapGestureRecognizer

我确实把所有东西都从 移到touchesBeganUITapGestureRecognizer,但看起来很慢。但我可能执行错了?

这是如何recognisers设置的:

func setupRecognizers() {
    let tapRecognizer = UITapGestureRecognizer(target: self, action: Selector("handleTap:"))
    view!.addGestureRecognizer(tapRecognizer)

    let longTapRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("handleLongPress:"))
    longTapRecognizer.minimumPressDuration = 0.2
    view!.addGestureRecognizer(longTapRecognizer)

}
Run Code Online (Sandbox Code Playgroud)

这些是处理手势的函数:

func handleTap(recognizer: UIGestureRecognizer) {
    //currently all handled in touchesBegan
}

func handleLongPress(recognizer: UIGestureRecognizer) {
    print("1 --------> longPress Called.... ", recognizer.state.rawValue, gameState) …
Run Code Online (Sandbox Code Playgroud)

touchesbegan uigesturerecognizer ios sprite-kit swift

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

在SpriteKit/Swift中从纹理创建BezierPath

所以,基本上,我有一个精灵(.png)SpriteKit,其中大多数像素是零/没有细节等.

我希望UIBezierPath只在Sprite中创建一个细节,所以以后我可以使用containsPoint.

经过一堆谷歌搜索,我发现你可以PhysicsBody使用精灵图像中的纹理路径创建一个,如下所示:

    let texture = SKTexture(imageNamed: "myImage.png")
    img.physicsBody = SKPhysicsBody(texture: texture, size: img.size)
Run Code Online (Sandbox Code Playgroud)

如果您知道我的意思,这会围绕图像内部的细节创建一个物理主体,不包括任何alpha值像素.

有没有办法创造一样的BezierPath做法?或者可能创建一个CGPath,然后用它来创建一个BezierPath

原因是,我希望测试一个CGPoint是否在这个精灵中,而不使用physicsDelegatephysicsBodys.

提前致谢.

xcode cgpath uibezierpath sprite-kit swift

5
推荐指数
0
解决办法
383
查看次数

OpenGL/Glut按钮和键

我正在学习使用这Pearson, Computer Graphics with OpenGL本书.

我目前正在努力做一个简单的方形移动,但在我超越自己之前,我需要确定我理解Glut中内置了哪些键.

我知道以下键:

  • GLUT_KEY_F1, GLUT_KEY_F2, ..., GLUT_KEY_F12 - F1至F12键
  • GLUT_KEY_PAGE_UP, GLUT_KEY_PAGE_DOWN - Page Up和Page Down键
  • GLUT_KEY_HOME, GLUT_KEY_END - 家庭和结束键
  • GLUT_KEY_LEFT, GLUT_KEY_RIGHT, GLUT_KEY_UP, GLUT_KEY_DOWN - 方向键
  • GLUT_KEY_INSERT - 插入键

我要么在我的书中找到它们,要么在另一篇文章中的Stackoverflow上找到它们.

但还有吗?例如,对于键盘和鼠标上的所有键?

谢谢.

c++ keyboard glut input

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

AVAudioPlayer声音音量较低

当我的应用程序正在使用时,我有一个无限循环使用的背景歌曲.除了声音/音量太高......我希望它以音量的一半播放......这就是我加载音乐的方式:

//background music for in-game loop
backgroundLoop = [[NSBundle mainBundle] pathForResource:@"Background" ofType:@"wav"];
GameMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:backgroundLoop] error:NULL];
GameMusic.delegate = self;          //need <...> in .h
GameMusic.numberOfLoops = -1;       //play infinite loop
Run Code Online (Sandbox Code Playgroud)

我尝试了一些东西,但没有任何影响轨道的音量.我试过这个:

GameMusic.volume = 0.5f;
Run Code Online (Sandbox Code Playgroud)

和:

[GameMusic setVolume: 0.5f];
Run Code Online (Sandbox Code Playgroud)

但它没有改变音量,仍然以相同的最大音量播放......

奇怪的是,如果我定容至0.0( [GameMusic setVolume: 0.5f];),它不玩,因为在所有我猜它的体积设定为零......但为什么0.1f还是0.5f当它是一个线性比例从0-不调整音量1?

如何降低声音的音量?它太响了.

此外,我尝试编辑Garageband中的实际声音,但它们不会在一秒钟内输出任何声音,因此手动调整它们是不可行的.

谢谢.

更新

Wiki,显示支持以下文件格式:

- AAC (MPEG-4 Advanced Audio Coding) - ALAC (Apple Lossless) - AMR (Adaptive Multi-rate) - HE-AAC (MPEG-4 High Efficiency AAC) - iLBC (internet Low …

audio cocoa avaudioplayer ios

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

未找到Apple ID - 应用程序内购买iOS 8

我正在测试运行8.1.3的iPhone 6+上的"应用内购买"阶段.

基本上,您点击"无广告"按钮,它会将您带到一个处理购买和恢复购买的新ViewController.

我在Youtube上关注了Geeky Lemons教程.

出于某种原因,每次我按"购买",并提示我登录,它告诉我"你输入的Apple ID无法找到..."即使我正在使用"测试用户"创建在iTunes Connect中.

我到处都是并且多次检查常见错误,包括正确的捆绑ID等,但仍然没有.

下面是我.mconsole打印输出.正如你所看到的那样一切正常(我认为)直到签约......我再也无法得到任何进展......

PurchasedViewController:

#import "PurchasedViewController.h"

@interface PurchasedViewController ()

@end

@implementation PurchasedViewController

- (void)viewDidLoad {
    [super viewDidLoad];                // Do any additional setup after loading the view.

    _buyButton.enabled = NO;

    NSLog(@"Default ID: %@", self.productID);
    self.productID = @"My IAP ID";
    NSLog(@"Assigned ID: %@", self.productID);
    [self getProductID];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.
}

- (IBAction)BuyProduct:(id)sender {
    SKPayment *payment = [SKPayment paymentWithProduct:_product];
    [[SKPaymentQueue …
Run Code Online (Sandbox Code Playgroud)

xcode cocoa-touch in-app-purchase ios ios8

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