- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我必须创建一个 CGPathRef 来模拟 Sprite Kit 中的物理属性。
我正在尝试通过一半圆形加一半椭圆形创建蛋形路径。鸡蛋的比例是0.4(半圆底部)到0.6(半椭圆上部);但是,我不知道为什么什么都没有发生。下面的代码是路径的创建:
self.egg = [SKSpriteNode spriteNodeWithImageNamed:IMAGE_NAME_EGG];
[self.egg setScale:0.2];
self.egg.position = CGPointMake(self.size.width/2,self.size.height - self.egg.size.height/2);
self.egg.name = IMAGE_NAME_EGG;
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddArc(path, NULL, 0, self.egg.size.height*0.4, self.egg.size.width/2, M_PI, M_PI_2, NO);
CGPathAddEllipseInRect(path, NULL, self.egg.frame);
self.egg.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromPath:path];
self.egg.physicsBody.dynamic = YES;
self.egg.physicsBody.categoryBitMask = eggCategory;
self.egg.physicsBody.contactTestBitMask = floorCategory;
self.egg.physicsBody.collisionBitMask = floorCategory;
//self.eggCanMove = NO;
self.egg.physicsBody.allowsRotation = YES;
[self addChild:self.egg];
最佳答案
有更好的方法来做到这一点。用 p.e. 制作鸡蛋的质地。 Adobe Illustrator 并使用此方法:
init(texture texture: SKTexture!,alphaThreshold alphaThreshold: CFloat,size size: CGSize) -> SKPhysicsBody
SKTexture
是您的蛋图像。主体由彩色像素定义。alphaThresHold
:应该成为新物理体一部分的纹素的最小 alpha 值。Size
很清楚。分析纹理并忽略鸡蛋周围的所有不可见像素,只有颜色像素被解释为 SKPhysicsNode
的主体。您不应该使用太多这些,因为它们对于物理引擎的计算非常昂贵。
此方法的变体可在 SpriteKit Class Reference 中找到.
关于ios - 如何使用 CGPathRef 创建蛋形物理体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22599378/
我有这个代码: CGPathRef cgPath = [path quartzPath]; self.blackLine.path = cgPath; self.whiteDashe
有没有办法找出两个 CGPathRef 是否相交。就我而言,所有 CGPath 都有 closePath。 例如,我有两条路径。一条路径是旋转一定角度的矩形,另一条路径是弯曲路径。两条路径的原点会经常
我的SKSpriteNode在逆时针方向上遵循此路径,我如何使其沿顺时针方向遵循路径? 提前致谢! CGPathRef circle = CGPathCreateWithEllipseInRe
我是 cocoa 核心图形的新手。我有一张鸡蛋的图片,我正在使用 Sprite 工具包来模拟鸡蛋自由落体的物理现象。我需要设置鸡蛋的 physicsBody 属性。如何为此目的创建一个椭圆形的 CGP
我们如何获取特定字符串的路径?我刚发现 CTFontCreatePathForGlyph 会给出 CGPathRef ,但它会是文本的轮廓。例如字母“O”我从上面的方法得到的路径就像一个圆圈..看看我
请问我们怎样才能得到法语字母的特定阿拉伯语路径?我刚刚发现 CTFontCreatePathForGlyph 会给 CGPathRef 之类的,但它会是文本的轮廓。 我需要这个真实的文本路径来显示文本
我正在使用 SKShapeNodes 通过在用户触摸屏幕时更新路径属性来动态绘制线条。这条线完成后,我想在路径的末端附加一条新的固定长度垂直线。 我已经研究了 CGAffineTransform 以根
所以我有一个 SKSpriteNode,它应该从屏幕中间拖动,放开,然后平滑地流到最近的角(或者更确切地说,从最近的角在每个轴上 10 个点)。 我使用的方法应该返回一个 CGPathRef,原点在节
我试图通过 CGPathRefs 将文本分成所有不同的部分。例如,L 有一条路径,而 ?有两个(点和其余部分)。 目前,我能够将每个字母作为路径,但是在“?”的示例中该路径同时包含点和其余部分。我想将
我正在寻找一些算法或某种方式,甚至是一些引用资料,它们可以让我从 CGPathRef 生成一组矩形。 考虑以下情况: 在路径中添加一个矩形 CGMutablePathRef pathref = CGP
在我的 iOS 游戏中,我试图沿着路径移动对象(见下文): 我想将上面的三角形移动到框的底部。 但是我不知道如何很好地使用CGPathRefs。这是我正在尝试的: CGMutablePathRef p
在 iOS 中,有两个 C 结构表示描述可绘制形状的路径:CGPathRef 和 CGMutablePathRef。从他们的名字看来,CGPathRef 指的是一旦创建就不能更改的路径,而 CGMut
我有一个由 n 个重叠矩形创建的 CGPath。是否有 API 可以获取原始路径的新路径?或者是否可以通过填充原始路径或创建剪切路径来做一些聪明的事情? 做不到这些,您能推荐一本关于 bool 路径运
我必须创建一个 CGPathRef 来模拟 Sprite Kit 中的物理属性。 我正在尝试通过一半圆形加一半椭圆形创建蛋形路径。鸡蛋的比例是0.4(半圆底部)到0.6(半椭圆上部);但是,我不知道为
有一种方法可以使用 CorelDraw 或 Adobe Flash 等应用程序绘制复杂的形状,将其保存或导出为 PDF,然后在 iOS 中使用 Core Graphics 打开它。这个想法是,用
是否可以对 CGPathRef 变量进行编码?我的意思是 CGPathRef 变量有类似 encodeObject:forKey 的方法吗? 最佳答案 是的,有 - 我已经这样做了:https://g
大家好我一直在 map 应用程序中工作,我需要在两个位置之间绘制路线,我也有路线坐标(使用 google Direction api)并将其保存在一个数组中,现在我只需要要做的是从点数组创建路径,稍后
给定一个CGPathRef,如何找到沿路径的 1/3 点? 我正在开发一款纸牌游戏,想向玩家展示他们的牌呈扇形展开的弧形。它们的间距应该相等,具体取决于它们拥有的卡片数量。 谢谢 最佳答案 不要尝试为
在 Apple 文档中,他们为您提供了如何将 NSBezierPath 转换为 CGPathRef 的代码。我需要反过来转换,从 CGPathRef 到 NSBezierPath。 UIBezierP
鉴于我有一个 CGPathRef,或一个 UIBezierPath,或其他一些等效的 iOS 表示,是否有内置的库函数可用于计算剪辑这个对象给我? 我特别需要针对轴对齐的矩形进行裁剪。 如果能够针对另
我是一名优秀的程序员,十分优秀!