gpt4 book ai didi

ios - 将形状移动到存储在 C4 中的 NSArray 中的随机点

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:27 26 4
gpt4 key购买 nike

我试图让一个正方形出现在点数组中的一个点上。我正在使用“Square.center = array[random integer]”来选择点。

我收到错误“从不兼容的类型‘id’分配给‘CGPoint’(又名‘struct CGPoint’)”。我认为这意味着它无法在我的数组中找到一个点。

我的数组是这样设置的,由我发现的各种示例拼凑而成。

Array = [NSArray arrayWithObjects:
[NSValue valueWithCGPoint:CGPointMake(
self.canvas.center.x,
self.canvas.center.y
)],
[NSValue valueWithCGPoint:CGPointMake(
self.canvas.center.x+55,
self.canvas.center.y
)],
[NSValue valueWithCGPoint:CGPointMake(
self.canvas.center.x-55,
self.canvas.center.y
)],
[NSValue valueWithCGPoint:CGPointMake(
self.canvas.center.x,
self.canvas.center.y+55
)],
[NSValue valueWithCGPoint:CGPointMake(
self.canvas.center.x-55,
self.canvas.center.y
)],
nil
];

我怎样才能让我的正方形落在其中一个点上?稍后我想在每个点上都有一个相同的正方形。

最佳答案

您收到的错误表明它无法将 NSValue 的 ID 转换为 CGPoint。此链接有类似的讨论:

How can I add CGPoint objects to an NSArray the easy way?

您需要做的是从 NSValue 中取回 CGPoint。 NSValue 为这种情况提供了 CGPointValue。因此,从 NSValue 返回的 NSArray 中,您将调用 CGPointValue 方法来完成最后一步。如果你有一个名为 array 的 NSArray 和一个名为 Square 的 C4Shape,你可以这样做:

    Square.center = [array[randomInteger] CGPointValue];

其中 randomInteger 是您在其他地方选择的某个整数。

关于ios - 将形状移动到存储在 C4 中的 NSArray 中的随机点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19240200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com