我如何在 CGRectIntersectsRect if 语句中 return 相同的对象?
how can i return same object in CGRectIntersectsRect if statement?
这行代码在 iOS 8 之前可以工作,但是在更新到 iOS 8 之后,这行代码就不再工作了。
if (CGRectIntersectsRect(icon1.frame, pig.frame)
&& icon1.image == [UIImage imageNamed:@"BerryBlueberryIphone.png"]) {
我还有哪些其他选择可以实现与我的旧代码行相同的功能。
我需要一个 if 语句来检测两个对象与具有特定图像的对象之一的碰撞。
我在此 link 中有更多关于我正在尝试制作的游戏的信息和代码。 link 导致我在知道更新后我的游戏出了什么问题之前提出了一个问题。这是 link...
Collision not working on iphone just ipad Xcode 6.1.1
要解决这个问题,您需要在游戏中更好地表示对象。看起来您希望检测的碰撞发生在两个 UIView 之间,并且您想知道其中一个视图是否具有特定图像。
考虑这一点的更好方法是检测模型中由视图表示的对象之间的碰撞。当视图控制器检测到两个视图重叠时,它可以询问相应的模型是猪还是蓝莓或其他什么。在 OS8 之前,当将相同的字符串传递给 imageNamed: 时,您依赖 OS 来回答相同的图像。即使那样,更好的设计也会有一个模型对象。
我强烈建议您以这种方式重新考虑您的项目,但作为快速解决方案,您可以为蓝莓图像的 imageView 保留一个特殊标签(例如,999)。那么碰撞测试可以读取:
if (CGRectIntersectsRect(icon1.frame, pig.frame) && icon1.tag == 999) {}
这行代码在 iOS 8 之前可以工作,但是在更新到 iOS 8 之后,这行代码就不再工作了。
if (CGRectIntersectsRect(icon1.frame, pig.frame)
&& icon1.image == [UIImage imageNamed:@"BerryBlueberryIphone.png"]) {
我还有哪些其他选择可以实现与我的旧代码行相同的功能。 我需要一个 if 语句来检测两个对象与具有特定图像的对象之一的碰撞。
我在此 link 中有更多关于我正在尝试制作的游戏的信息和代码。 link 导致我在知道更新后我的游戏出了什么问题之前提出了一个问题。这是 link...
Collision not working on iphone just ipad Xcode 6.1.1
要解决这个问题,您需要在游戏中更好地表示对象。看起来您希望检测的碰撞发生在两个 UIView 之间,并且您想知道其中一个视图是否具有特定图像。
考虑这一点的更好方法是检测模型中由视图表示的对象之间的碰撞。当视图控制器检测到两个视图重叠时,它可以询问相应的模型是猪还是蓝莓或其他什么。在 OS8 之前,当将相同的字符串传递给 imageNamed: 时,您依赖 OS 来回答相同的图像。即使那样,更好的设计也会有一个模型对象。
我强烈建议您以这种方式重新考虑您的项目,但作为快速解决方案,您可以为蓝莓图像的 imageView 保留一个特殊标签(例如,999)。那么碰撞测试可以读取:
if (CGRectIntersectsRect(icon1.frame, pig.frame) && icon1.tag == 999) {}