国产精品高清一区二区三区不卡-国产精品一区二区三区免费视频-日韩免费高清一级毛片-亚洲欧美一区二区三区国产精品-日韩欧美一区二区三区不卡视频-亚欧免费视频一区二区三区-亚洲欧美日韩一区成人-欧美日韩视频综合一区无弹窗-精品日韩在线视频一区二区三区-国内精品视频一区二区三区

你好,歡迎進入江蘇優(yōu)軟數(shù)字科技有限公司官網(wǎng)!

誠信、勤奮、創(chuàng)新、卓越

友好定價、專業(yè)客服支持、正版軟件一站式服務(wù)提供

13262879759

工作日:9:00-22:00

設(shè)計師編程指南之Sketch插件開發(fā) 1

發(fā)布時間:2023-07-19

瀏覽次數(shù):0

我發(fā)現(xiàn)網(wǎng)上關(guān)于插件開發(fā)的手冊太少了,但是可能沒有一個能夠成功運行sketch 3 的用戶手冊,所以我寫了這個系列的文章:

1

我們需要理解的句子特征

基于JS中支持調(diào)用-c的trick。 我們需要了解一些-c的一些句子特征。

-C最大的特點是繼承消息傳遞模型。 在C++中,調(diào)用方法的語法如下:

obj.method(argument);

-C 寫為:

[obj method: argument];

下面我們舉個例子,例如:::

OC 寫為:

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

寫為:

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

其實也可以直接用OC來寫。 那邊建議直接寫入OC,以區(qū)別于純js技術(shù)。

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 的用戶手冊_用戶體驗草圖設(shè)計工具手冊_燃氣用戶安全用氣手冊

3

本機對象方法列表

看到一款優(yōu)秀的IOS APP,想要了解其實現(xiàn)原理,是時候通過逆向工程查看APP的源碼,學習作者的核心思想了。 iOS逆向工程有一個比較好用的工具——。 借助-C語言的特性,提取Mach-O文件中存儲的頭文件信息,生成相應的.h文件。 尤其是插件開發(fā),因為官方文檔比較粗糙,必須了解代碼中已經(jīng)寫好的一些技巧,才能更好的開發(fā)。 已經(jīng)有轉(zhuǎn)儲的頭文件信息,地址:

事實上,你也可以使用該工具從本地轉(zhuǎn)儲一份副本。

4

動手實驗

這部分實際上是本文的重點。 新建一個文件,首先打開sketch 3 的用戶手冊,如右圖。 然后進入運行界面。

用戶體驗草圖設(shè)計工具手冊_燃氣用戶安全用氣手冊_sketch 3 的用戶手冊

然后我們輸入代碼,這是創(chuàng)建n個頁面的代碼:

var doc=context.document;

var num=[doc askForUserInput:@"輸入需要創(chuàng)建的頁面數(shù)量" 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:@"輸入需要創(chuàng)建的頁面數(shù)量" 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] ? ?
? ?
};

這篇文章是插件開發(fā)的開始,暫時就到這里。 那么接下來我將依次介紹 、 、 組、圖層、樣式、字體、圖像等代碼。 有代碼加持,繪圖效率能提升n倍嗎?

———腦洞開個洞,甚至接入搜索引擎、圖片素材庫、生成html頁面等也是可行的。

*

知識星球

更多插件的開發(fā)可以在知識星球上交流。 還包括:

1、看到一些好的案例和關(guān)鍵技術(shù)方案后,寫文章不系統(tǒng),發(fā)star;

2、我會在知識星球上發(fā)布一些絕密的研究經(jīng)驗;

3 一些特殊的方法知識,供付費用戶使用;

4 公眾號迭代版本,文章內(nèi)容更加升級、更加核心。

5 事實上,這個星球上有資深的專家。

*

熱門文章

*

如有侵權(quán)請聯(lián)系刪除!

13262879759

微信二維碼