海龟绘图(Swift中的Logo解释器的一个关键特性。
命令参考了Python 3标准库中的turtle模块。
示例
// Turtle Star!
🐢.beginFill()
36.timesRepeat {
🐢.forward(200)
🐢.left(170)
}
🐢.endFill()
结果
用法
// Instantiate a `Tortoise`
let 🐢 = Tortoise()
// Instantiate `ImageCanvas` and add the tortoise
let canvas = ImageCanvas(size: Vec2D(300, 300))
canvas.add(🐢)
// Command 🐢
🐢.right(90)
🐢.forward(100)
// Get drawn `CGImage`
let cgImage = canvas.cgImage
Playgrounds
在Xcode中
- 在Xcode中打开
TortoiseGraphics.xcworkspace
。 - 为iOS模拟器构建
TortoiseGraphics
方案。 - 在项目导航器中选择
Playground
。 - 让我们开始游戏吧!
在 Swift Playgrounds (iPad 应用)
订阅
- 在您的 iPad 上启动 Safari 并浏览此页面。
- 点击以下链接进行订阅。
- 您可以在 Swift Playgrounds 应用中获取到 Tortoise GraphicsPLAYGROUND书。
下载
- 从这里下载
TortoiseGraphics.playgroundbook.zip
。 - 解压缩下载的 zip 文件。
- 通过 AirDrop 将解压缩后的
TortoiseGraphics.playgroundbook
文件发送到您的 iPad。 - 使用 Swift Playgrounds 应用打开它。
- 让我们开始游戏吧!
类
乌龟
ImageCanvas
Shape
Color
Vec2D
枚举
Speed
乌龟命令
动作
移动和绘图
forward()
,fd()
backword()
,back()
,bk()
right()
,rt()
left()
,lt()
setPosition()
,setPos()
,goto()
setX()
setY()
setHeading()
,setH()
home()
circle()
告诉海龟状态
position
,pos
towards()
xcor
ycor
heading
distance()
画笔控制
绘图状态
penDown()
,pd()
,down()
penUp()
,pu()
,up()
penSize()
width()
isDown
penSize
width
颜色控制
penColor()
penColor
fillColor()
fillColor
填充
填充
beginFill()
endFill()
更多绘图控制
reset()
clear()
乌龟状态
可见性
showTortoise()
,st()
hideTortoise()
,ht()
isVisible
shape()
shape
其他命令
Int.timesRepeat() {}
random()
degrees()
radians()
colorMode()
,colorMode
用于沙盒
PlaygroundCanvas
PlaygroundCanvasLiveView
for Swift Playgrounds
SwiftPlaygroundCanvas
LiveViewController
要求
- Swift 5.1 (Xcode 11.1)
- iOS/iPadOS 13.0 或更高版本
安装
Carthage
github "temoki/TortoiseGraphics"
Cocoapods
pod 'TortoiseGraphics'
剩余工作
- 支持 SVG 输出
- macOS 支持
- Swift 包管理器 支持
- 丰富乌龟命令
- 丰富游乐场内容
致谢
- 特别感谢 @kiyoshifuwa,为这些令人惊叹的艺术作品。
许可协议
TortoiseGraphics 在 MIT 许可协议下发布。详细信息请参阅 LICENSE。