タートルグラフィックスを用いて文字(名前:apple)を描画したいのですが可能でしょうか?
追記:
python
1from turtle import * 2 3with open("handwriting-apple.txt", encoding="utf-8") as stream: 4 write("Apple", None, "center", "serif 64 bold") 5 color("red") 6 penup() 7 pensize(4) 8 9 for line in stream: 10 action, *args = line.strip().split(" ") 11 print(action, args) 12 if action == "setpos": 13 x, y = map(int, args) 14 setpos(x-480, -y+400) 15 elif action == "pendown": 16 x, y = map(int, args) 17 setpos(x-480, -y+400) 18 pendown() 19 elif action == "penup": 20 penup() 21 22hideturtle() 23done()
追記2:
.pyファイルに記録用のコードを記述し実行後
recordファイル、エラー内容
replayファイル
追記4:エラーの出力内容、バージョンの確認。
追記5: 該当部分のコード
```python
'''
from turtle import *
with open("handwriting-apple.txt", encoding="utf-8") as stream:
write("Apple", None, "center", "serif 64 bold")
color("red")
penup()
pensize(4)
# : キャンバスの絶対座標で記録されてるので、タートル中心の座標に修正(数値は適当) for line in stream: action, *args = line.strip().split(" ") print(action, args) if action == "setpos": x, y = map(int, args) setpos(x-480, -y+400) elif action == "pendown": x, y = map(int, args) setpos(x-480, -y+400) pendown() elif action == "penup": penup()
hideturtle()
done()
'''
実行方法: python record_motion.py > handwriting-apple.txt
import sys
sys.stdout = open("motion.log", "w", encoding = "utf-8")
from turtle import *
s = Screen()
t = Turtle()
def onmotion(e):
print("setpos {} {}".format(e.x, e.y))
def onrelease(e):
print("penup")
s.cv.unbind("<Motion>")
s.cv.unbind("<ButtonRelease-1>")
def onpress(e):
print("pendown {} {}".format(e.x, e.y))
s.cv.bind("<Motion>", onmotion)
s.cv.bind("<ButtonRelease-1>", onrelease)
s.cv.bind("<ButtonPress-1>", onpress)
t.write("Apple", None, "center", "serif 64 bold")
t.hideturtle()
done()
実行結果 ![イメージ説明](7771a217c22bf26ad5e7d53e77ceeebf.png) 追記:6 setpos数値変更 ```python from turtle import * with open("motion.log", encoding= "utf-8") as stream: write("Apple", None, "center", "serif 64 bold") color("red") penup() pensize(4) # XXX: キャンバスの絶対座標で記録されてるので、タートル中心の座標に修正(数値は適当) for line in stream: action, *args = line.strip().split(" ") print(action, args) if action == "setpos": x, y = map(int, args) setpos(x-360, -y+340) elif action == "pendown": x, y = map(int, args) setpos(x-360, -y+340) pendown() elif action == "penup": penup() hideturtle() done()
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/27 09:44
2020/03/29 05:31
2020/03/29 12:53
2020/03/30 11:49
2020/03/30 12:04
2020/03/31 11:32
2020/03/31 11:41
2020/04/01 12:50
2020/04/01 13:01
2020/04/01 13:27
2020/04/02 14:23
2020/04/02 15:39 編集
2020/04/03 06:31
2020/04/03 06:58 編集
2020/04/04 14:12
2020/04/04 14:41
2020/04/05 12:34
2020/04/06 11:09
2020/04/06 11:18
2020/04/06 11:26