你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

设计师编程指南之Sketch插件开发 1

发布时间:2023-07-19

浏览次数:0

我发现网上关于插件开发的手册太少了,但是可能没有一个能够成功运行sketch 3 的用户手册,所以我写了这个系列的文章:

1

我们需要理解的句子特征

基于JS中支持调用-c的trick。 我们需要了解一些-c的一些句子特征。

-C最大的特点是继承消息传递模型。 在C++中,调用方法的语法如下:

obj.method(argument);

-C 写为:

[obj method: argument];

下面我们举个例子,例如:::

OC 写为:

[doc askForUserInput:@"Enter your pages" initialValue:@"default"];

写为:

doc.askForUserInput_initialValue("Enter your pages", "default");

其实也可以直接用OC来写。 那边建议直接写入OC,以区别于纯js技术。

2

主要对象

所有对对象的操作都是通过. oc的对象对应的对象。 我们可以通过使用 log 命令复制来检查它。

var doc = context.document,
   plugin = context.plugin,
   command = context.command,
   page = doc.currentPage(),
   artboards = page.artboards(),
   selectedArtboard = page.currentArtboard(),// 当前被选择的画板
   selection = context.selection; // 被选择的图层

   log(doc)

打开---运行,然后将代码粘贴到里面,点击右下角的运行按钮。

sketch 3 的用户手册_用户体验草图设计工具手册_燃气用户安全用气手册

3

本机对象方法列表

看到一款优秀的IOS APP,想要了解其实现原理,是时候通过逆向工程查看APP的源码,学习作者的核心思想了。 iOS逆向工程有一个比较好用的工具——。 借助-C语言的特性,提取Mach-O文件中存储的头文件信息,生成相应的.h文件。 尤其是插件开发,因为官方文档比较粗糙,必须了解代码中已经写好的一些技巧,才能更好的开发。 已经有转储的头文件信息,地址:

事实上,你也可以使用该工具从本地转储一份副本。

4

动手实验

这部分实际上是本文的重点。 新建一个文件,首先打开sketch 3 的用户手册,如右图。 然后进入运行界面。

用户体验草图设计工具手册_燃气用户安全用气手册_sketch 3 的用户手册

然后我们输入代码,这是创建n个页面的代码:

var doc=context.document;

var num=[doc askForUserInput:@"输入需要创建的页面数量" initialValue:@"5"]; log(num);

for(var n=0;n   var newPage = doc.addBlankPage();   newPage.setName(n.toString()); };

看看左边页面列表的变化,是不是效率很高呢? 接下来尝试将当前页面的代码复制n份:

var doc=context.document,
    page=doc.currentPage();

var num=[doc askForUserInput:@"输入需要创建的页面数量" initialValue:@"5"]; log(num);

for(var n=0;n
   var newPage = [page copy];
   var index=[[doc pages] count];
   var newName=page.name()+'_'+index;    [newPage setName:newName]    [[doc documentData] addPage:newPage]    [doc setCurrentPage:page]    
   
};

这篇文章是插件开发的开始,暂时就到这里。 那么接下来我将依次介绍 、 、 组、图层、样式、字体、图像等代码。 有代码加持,绘图效率能提升n倍吗?

———脑洞开个洞,甚至接入搜索引擎、图片素材库、生成html页面等也是可行的。

*

知识星球

更多插件的开发可以在知识星球上交流。 还包括:

1、看到一些好的案例和关键技术方案后,写文章不系统,发star;

2、我会在知识星球上发布一些绝密的研究经验;

3 一些特殊的方法知识,供付费用户使用;

4 公众号迭代版本,文章内容更加升级、更加核心。

5 事实上,这个星球上有资深的专家。

*

热门文章

*

如有侵权请联系删除!

13262879759

微信二维码