李美熹 SPACE


又一个WordPress站点

首页 >全部文章 > 正文内容
2 设计师编程指南之Sketch插件开发-科技Mix设计Lab
Sketch 是 Mac 系统才有的软件,可以理解为精简版的 PS ,比 PS 更适合 UI 设计,Sketch 插件开发的语言是类 Javascript ,而 Sketchup 是一款三维建模软件,一般用于建筑设计、景观设计还有游戏场景设计等,插件开发是用的 ruby 语言英里塔。完成 Sketch 的插件开发指南这个系列,我也会开始写 Sketchup 插件开发指南。
本期介绍artboard 、NSFileManager和NSString关于文件及文件夹的相关操作乾贵士。
1
新建artboard
新建一个 artboard 黑白羽翼,并设置其位置,宽、高。记得最后需要添加到 page 里。
var doc = context.document;var page=doc.currentPage();var newArtboard=[MSArtboardGroup new];log(newArtboard)newArtboard.name='new';var artboardFrame = [newArtboard frame]; artboardFrame.setX(0); artboardFrame.setY(0); artboardFrame.setWidth(100); artboardFrame.setHeight(100);page.addLayers([newArtboard])
2
文件及文件夹相关的操作
此部分涉及到 IOS 原生开发的 NSFileManager 和NSString ,主要用到 NSString 的stringWithContentsOfFile 方法,而 NSFileManager 是 iOS 中的文件管理类李宏彦 ,关于详细的 NSFileManager 建议查看 IOS 官方开发文档王津元 。
Objective-C与Cocoascript写法的差异在上一篇已经说明过。下面的js 也可以改写成 OC 的形式。
2.1 创建一个目录
var path='/Users/zhank/Downloads/draw';NSFileManager.defaultManager().createDirectoryAtPath_withIntermediateDirectories_attributes_error(path, !0, {}神犬小巴迪, null);
2.2 读取文件的内容
var path='/Users/zhank/Downloads/undraw_create_f05x.svg';var data=NSString.stringWithContentsOfFile_encoding_error(path, NSUTF8StringEncoding, nil);log(data)
2.3 新建文件,并写入内容
var str='abc', path='/Users/zhank/Downloads/draw/test.txt';NSString.stringWithString(str).writeToFile_atomically_encoding_error(path, !0, NSUTF8StringEncoding, nil);
2.4 文件改名及移动位置
var from='/Users/zhank/Downloads/draw/test.txt', to='/Users/zhank/Downloads/draw/test2.txt';var isExist=NSFileManager.defaultManager().fileExistsAtPath(from);if(isExist){ NSFileManager.defaultManager().moveItemAtPath_toPath_error(from, to, null);}else{ NSApp.displayDialog(@"文件不存在");}
2.5 删除文件或文件夹
var path='/Users/zhank/Downloads/draw/test2.txt';NSFileManager.defaultManager().removeItemAtPath_error(path, null);
关于文件及文件夹的相关操作天使不在线,这个要注意下删除的文件或文件夹 mac 的废纸篓里是不存在的哦,千万别误删!从这个角度看,网上随意装的 sketch 插件并不一定安全,有可能代码里就会有删除文件夹的命令,或者窃取文件的命令。
sketch 插件的权限还是很高的哦~用代码删除文件啥的并没有什么提示。
3
动手实验
现在你可以试着开发一个小功能啦,比如:
读取一个保存了各种设计图尺寸的 json 文件浮世绘春画 ,并生成多个尺寸的 artboard 。效果如下图:

这个实验留给你自己来动手,相关的代码已经在上文讲述过啦。
*
知识星球
更多sketch插件的开发,代码的下载,可以在知识星球交流。还包括:
1 看到一些好案例,关键技术解决方案,法拉美穗 写出文章又不成体系,发星球;
2 我会在知识星球发一些非常机密的研究心得;
3 一些非常有技巧的知识,给付费用户;
4 公众号的迭代版本,针对文章发更为升级、核心的内容。
5 当然,还有资深的专家在星球里。
*
热门文章
设计师编程指南之Sketch插件开发 1
我们利用周末尝试了一次CO-CODING活动
全栈设计+编程的方法论枪花乐队 ,以“猜对联”小程序为例
*
关于公众号:
本公众号定期更新人工智能&设计&科技内容肽藻粉。
谈点设计,敲点代码,偶尔创作点人工智能实验产品。
码字不易,开启新的打赏方式:
上一篇:2017参观指南,必读! CNFE-酒食联盟 下一篇:王冉博客

繁华落尽 转瞬即逝

我们需要透过一系列的训练来突破关卡,我们需要达到一个不受到过去历史的羁绊的心境,透过这样的心境,进而引导成为一个适合进行前进到战士人,我们需要成为一个完美无缺的战士,我们的目标是遵循着力量进入无限的领域和穿越!