- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 SKShapeNodes 通过在用户触摸屏幕时更新路径属性来动态绘制线条。这条线完成后,我想在路径的末端附加一条新的固定长度垂直线。
我已经研究了 CGAffineTransform 以根据路径的终点旋转新线,但到目前为止还没有任何运气。任何提示或见解将不胜感激。
我当前的一些引用代码如下所示:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch* touch = [touches anyObject];
CGPoint positionInScene = [touch locationInNode:self];
//add a line to the new coordinates the user moved to
CGPathAddLineToPoint(pathToDraw, NULL, positionInScene.x, positionInScene.y);
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
//create local copy of path
CGPathRef myPath_ = pathToDraw;
CGPoint myPoint = CGPathGetCurrentPoint(pathToDraw);
//create rectangle to append to end of line
CGRect newRect = CGRectMake(myPoint.x, myPoint.y, 25, 3);
CGPathRef newPath = CGPathCreateWithRect(newRect, NULL);
//add new line to the end of the path
CGPathAddPath(newPath, NULL, myPath_);
//set shape node path to drawn path
lineNode.path = myPath_;
}
最佳答案
要获得垂直线,您可以将向量指向最后一条线段的方向,然后交换 x 和 y,并反转其中一个。像这样的东西:
CGPoint v = { currentPoint.x - lastPoint.x, currentPoint.y - lastPoint.y };
CGPoint perp;
if (v.x == 0)
{
perp.x = -v.y;
perp.y = v.x;
}
else
{
perp.x = v.y;
perp.y = -v.x;
}
perp
的方向上画一条线。 ,从当前点开始,如下所示:
CGPathMoveToPoint (somePath, currentPoint);
CGPathAddLineToPoint (somePath, NULL, currentPoint.x + perp.x * length, currentPoint.y + perp.y * length);
length
是您要绘制的线段的长度。
lastPoint
至
currentPoint
所以下次它是正确的:
lastPoint = currentPoint;
关于ios - 创建与 CGPathRef 垂直的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23177401/
我有这个代码: 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 表示,是否有内置的库函数可用于计算剪辑这个对象给我? 我特别需要针对轴对齐的矩形进行裁剪。 如果能够针对另
我是一名优秀的程序员,十分优秀!