Quartz Composer迭代器补丁可能的错误?

时间:2012-03-23 10:25:30

标签: quartz-composer

在向编辑器窗口添加迭代器补丁时,我看到的是一个带有1个输入(迭代)的补丁。如果我试图爆炸这个补丁来查看宏的子补丁我得到一个空的编辑器窗口(如果我双击该补丁,结果相同)。补丁检查器只显示迭代索引(预设为10)。

如果补丁没有输出而且我看不到子补丁我们实际上打算如何使用迭代器补丁?我意识到另一个称为迭代器变量的补丁有助于解决此问题,但如果它没有输出,我仍然无法看到如何使用迭代器。

我已经在网上看过,有一些关于QC迭代器主题的教程,但是这些都是使用旧版本的OS X / Xcode - 当事情的工作方式不同然后看起来与我看到的不同。

我还看到了QC查看器的奇怪行为 - 它并不总是更新以显示我在编辑器中所做的更改,我不得不退出QC并重新启动以查看更新。控制台中的错误日志并未显示错误记录方式。 也许Lion的QC坏了?

我尝试删除QC并下载新副本,但仍然看到相同的结果。 任何见解都非常感谢。

也许我完全忽略了关于迭代器的观点,我的想法是它们允许用户通过迭代索引值来重复其他补丁的效果但是如果迭代器没有输出而且我在内部看不到它我只是无法看到如何使用迭代器。

我正在使用MacBook Pro 10.7.3 Lion&英特尔2.3 GHz i5处理器。

1 个答案:

答案 0 :(得分:3)

一个简单的迭代器教程:

  1. 打开空作文
  2. 添加清除补丁
  3. 添加Iterator补丁
  4. 双击补丁的正文(不是标题),进入Iterator补丁
  5. 添加Iterator Variables补丁
  6. 添加线路补丁
  7. 将Iterator Variables补丁的“当前位置”输出连接到Line补丁的“Start Position Y”输入
  8. 这表明:

    • Iterator补丁中的所有内容都会执行多次(无论Iterator补丁的“迭代次数”输入是否设置为)
    • Iterator Variables补丁提供Iterator中的上下文(即,当前迭代序列中的位置)
    • Iterator补丁不需要输出才能渲染内容

    也可以在迭代器中发布补丁的输出(右键单击补丁,转到“发布输出”菜单)。由于QC实现的限制,您只能在迭代器(或任何其他宏)内没有渲染器(蓝色)补丁时发布输出。

    从迭代器发布输出时,外部修补程序仅查看上次迭代的值。要解决这个问题,您可以在Iterator中使用Queue补丁来构建一个结构,然后您可以发布该结构。

    您最终应该看到如下内容:Screenshot of QC Editor and Viewer