【问题标题】:How do I get my guides to snap to pixels in Flash (CS3)?如何让我的指南捕捉到 Flash (CS3) 中的像素?
【发布时间】:2013-09-28 01:01:09
【问题描述】:

我正在尝试在我的 Flash 舞台上使用参考线来更好地对齐对象,但是如何让参考线与像素对齐?有一半的时间它们最终会像298.4,当我希望它们很好地捕捉到每个像素时,即。 298.0.

我使用的是 Flash CS3,并且我已打开所有捕捉选项。我在某处读到按住 shift 会将指南捕捉到像素,但这似乎不起作用。

【问题讨论】:

    标签: flash alignment


    【解决方案1】:

    有些人可能不认为这个问题与 stackoverflow 相关,因为它与编程无关,或者它是一个非常简单的问题。虽然它可能会变得令人讨厌:)

    无论如何, 如果你去 Edit Snapping ( CMD + / (MAC) 或 Ctrl + / (PC) ) 并设置:

    1. 对齐对齐
    2. 对齐参考线
    3. 对齐像素

    打开 on 并打开 Grid(右键单击文档中的空白区域并转到 Grid > Show Grid ) .您可能希望将网格编辑为 1 x 1 而不是默认的 18 x 18 像素。

    如果您不打开网格,您可能会捕捉到半像素 (.5 ) 值,我假设您想避免这种情况。

    如果您打算做一些像素艺术,请告诉我,我可以推荐一些方便的工具,否则如果您设置的布局清晰,this 扩展名会很方便,但链接没有不幸的是,t工作。

    幸运的是,写起来很容易。 我刚刚制作了一个新的 JSFL 文档(例如 RoundPixelValues.jsfl) 并将其保存在 $Flash/Commands 文件夹中,其中 Flash 是您的应用程序/程序文件文件夹。

    您可能可以用 3,4 行代码编写整个内容,但为了便于阅读,我将其扩展为 10 行:

    var doc = fl.getDocumentDOM();
    var timeline = doc.getTimeline();
    var currentLayer = timeline.layers[timeline.currentLayer];
    var currentFrame = currentLayer.frames[timeline.currentFrame];
    var elements = currentFrame.elements; 
    var elementsNum = elements.length;
    for(var i = 0 ; i < elementsNum ; i++){
        elements[i].x = Math.round(elements[i].x);
        elements[i].y = Math.round(elements[i].y);
    }
    

    只需将代码粘贴到新创建的 jsfl 文件中并保存。该选项应该出现在您的命令菜单中。这样做的好处是,如果您经常需要,您还可以设置键盘快捷键。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多