问题标签 [quartz-2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
707 浏览

iphone - iphone 2d绘图新手问题

我已经为 iphone 编程几个月了,商店里已经有 3 个应用程序了。

但是,我还没有在平台上进行任何类型的图形编程。

鉴于我正计划启动我的第 5 个应用程序(第 4 个应用程序正在 Apple 的审查中),我想询问一些关于在哪里获取此信息的指示(谷歌搜索了一段时间,但没有与我正在寻找的内容相匹配)

我需要创建一个应用程序,我可以在其中将一些形状从菜单(矩形、圆形、正方形,然后是一些复杂的形状)“拖放”到主窗口上。

这个想法是用户可以拖动它们。但是,我希望它们相互“捕捉”(有点像在 CAD 包中,一个圆的边缘有象限,可以捕捉到绘图中的任何其他几何实体)。

因此,如果我在屏幕左侧有一个圆圈,在右侧有一个矩形,然后我移动圆圈,如果我碰到矩形边缘,它将停止向右移动。不是完全停止,而是对运动的连续性给予某种“阻力”。

另外,如果我有几张重叠的图纸,有没有办法“划分”它们(任何重叠都会成为其自身的形状,但会从构成重叠的任何其他形状中移除)?

这样做的原因是我需要计算绘图的面积(以及其他属性)

我正在考虑 CALayer 1, 2, 3,..., n 在另一个之上,每个都有一个绘图(使用 CGPath?),可能会或可能不会与其他人重叠。

然后我需要以某种方式获取单个 CALayer 上所有这些“投影”的信息。

我在这里一无所知。

我应该研究 Quartz2D 吗?CALayer 和 CGPath 是否足够?

这不是为了游戏。只是我想到的一个工程应用程序。

任何帮助表示赞赏。

问候 dh

0 投票
4 回答
4677 浏览

iphone - Quartz 2D 与 OpenGL ES 学习曲线

几个月来我一直在开发 iPhone 应用程序。我想知道您对 Quartz 与 OpenGL ES 1.x 或 2.0 学习曲线的看法。你可以说出你的观点。我的问题是

*我是一个想要成为游戏开发者的人,所以首先在石英中开发,然后转向
OpenGL ES 是个好主意还是没有什么不同 *当你有类似的问题时,你能告诉你的经验吗?

谢谢 :)

0 投票
2 回答
1302 浏览

opengl - Mac dev - 帮助开始使用 2d 游戏

我想做一些简单的 2d 游戏/克隆(适用于 Mac),但我有几个问题:

  • 我应该使用Quartz 2d还是OpenGL(我不打算很快尝试 3d)
  • 似乎有很多 typedef 的东西,比如 CGFloat/GLfloat,我应该使用哪个?
  • 我应该在游戏中也使用 Objective-C(类)还是只使用 C?(我假设我会为窗口和视图使用 Objective-C 和 Cocoa。)
  • 每次都重绘整个视图可以吗?我不太明白 NSView 的 -drawRect 的dirtyRect 参数是如何工作的,它怎么知道我要更新什么?
  • 有什么好的教程吗?

谢谢。

0 投票
1 回答
765 浏览

iphone - UIImage 旋转偏移

我有以下代码

问题是旋转发生在左下角,当它围绕中心计算时。有没有办法改变这个?

0 投票
1 回答
1008 浏览

iphone - 石英 2D 路径旋转

我对 Quartz 2D 还很陌生。

想象以下场景:

你有一个圆形的迷你地图视图。我正在地图顶部绘制三角形(弧线现在并不重要)。这个形状代表可见区域。

当用户改变方向时,我需要让三角形沿着迷你地图旋转。

目前这是绘制路径的方式:

然后我使用 CAShapeLayer 绘制路径,如下所示:

路径正在旋转,但不是基于给定的原点。请记住,设置图层的锚点对我没有帮助,因为我想要的是旋转路径(最终我什至不需要显示它,因为我将使用它来确定哪些点在 mini 上可见地图)。

关于如何做到这一点的任何想法?谢谢你。

0 投票
1 回答
1521 浏览

cocoa - CALayer 过滤器和边界

我刚刚开始编写一些核心动画代码,我刚刚度过了令人沮丧的一天,试图找出一个特定的问题。

我有两个支持图层的视图,它们共同构成了向导/助手样式的用户界面:

1) 一个自定义背景视图,它用边到边的渐变填充整个窗口,左侧有一个漂亮的图像 2) 右侧的一个较小的框架视图,当您单击“前进”/“后退”按钮:标签、控件、按钮等。

我已经“窃取”了一些示例代码,这些代码可以为照明过滤器设置动画,从而产生脉动效果。

我已将动画和过滤器添加到自定义背景视图的 CALayer 中。它工作正常,但较小框架视图中的控件也会跳动!

我不知道这是怎么回事,我希望控件不受应用于其下方图层的过滤器的影响。当然,与较小视图关联的 CALayer 应该合成在背景视图的图层之上,并且其图层上的所有内容都应该保持不受影响!?

我玩过各种场景,我很清楚我在这里遗漏了一些非常基本的东西..请帮忙!

0 投票
2 回答
1228 浏览

iphone - iPhone: Quartz2d vs. OpenGL ES

OK, I'm still brand new to iPhone development. I have a free game on the app store, Winner Pong, but it's just a Pong clone (who would've guessed) that uses the standard UIImageViews for the sprites. Now I want to do something a little more complicated, and port my game for the Xbox 360, Trippin Alien, to the iPhone. I obviously can't keep using UIImageViews, so I was wondering which would be better to learn: the simpler, but performance-hindering Qurtz2D, or the smooth-running but dauntingly complex OpenGL ES.

My game is basically a copter game, with about 8-10 sprites on screen plus a simple particle system (video here). Not too complicated, but performance does matter. My only prior game programming experience is in Microsoft's XNA and C#, which has a built in SpriteBatch framework that makes it incredibly easy to draw, scale, and rotate pre-rendered sprites on screen. Is it worth it to learn OpenGL ES? How big is the performance gap? Is quartz really that simple?

Also, if anyone knows of any tutorials for either one, please, post them here. I need as much help as I can get.

0 投票
1 回答
4061 浏览

iphone - 你可以在 iPhone 中使用 Quartz 制作渐变动画吗?

我是 iPhone 开发的新手,目前正在重新创建我为 Silverlight 开发的图表工具。

目前我正在使用渐变来“填充”一个表示图表中条形的矩形。是否可以对此渐变进行动画处理,以便在用户触摸图表中的条时改变颜色。

我查看了 Apple 提供的核心动画指南,但看不到针对渐变的属性。我想我可以使用过渡在两个矩形之间淡入淡出,其中一个具有我的起始渐变,第二个具有“触摸”版本,但这显然意味着为每个条绘制多个矩形对象,我假设额外的性能开销。

有任何想法吗?

0 投票
3 回答
33850 浏览

iphone - Quartz Core、Core Graphics 和 Quartz 2D 有什么区别?

我想知道是否有人可以准确地区分这些?据我了解,Core Graphics 只是一个包含 Quartz Core 和 Quartz 2D 的“框架包”。但我不确定 Quartz 2D 是否真的是 Quartz Core?也许有人可以在那里画一些线?是什么构成了它们之间的差异?

查看文档时,我看到 Quartz Core 仅列出了所有 Core Animation 内容。所以 Quartz Core == Core Animation?

0 投票
2 回答
1498 浏览

iphone - Quartz 2D 图形上下文

为什么必须从 drawRect 方法中调用 Quartz 2D 图形上下文函数?

因为如果我从除 drawRect 之外的任何地方调用 CGGraphics 上下文函数,我会收到如下消息:

实际上,在 UIView 的一个子类中,我确实在一个名为 Render 的方法中设置了一个图形上下文。打赌当 Render 被调用时,我得到了上述错误: