Pythonで線画ツール その2

オブジェクトクラスとアンカークラスの型を作ります。ほんとに型だけです。


まずこの二つの役割ですが、一本の線=オブジェクトで、そのオブジェクトの中にアンカーを格納して、アンカーに準じた線を描写することにします。
 つまり、メインのキャンバスの中にオブジェクトがあって、オブジェクトの中にアンカーがあるといった具合です。

まあ、とりあえずクラスを作ってみます。
オブジェクトクラス
1:
2:
3:
4:
5:
6:
7:
8:
class Obj:
 
canvas = None
color = "green"
AncList = []
 
def __init__(self):
return
 

アンカーリスト
1:
2:
3:
4:
5:
6:
7:
8:
class Anc:
 
canvas = None
width = 1.0
 
def __init__(self,x,y):
self.x = x
self.y = y
 

できたw

AncListという配列にアンカー(インスタンス)を格納していく事にします。
canvasの説明はこの↓。

>>メインのキャンバスの中にオブジェクトがあって
ということを分かり易くする為に、MainCanvasというクラスを作ろうと思います。
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
class MainCanvas:
 
canvas = None
ObjList = []
 
def __init__(self, window, width, height):
 
self.canvas = Tk.Canvas(window, bg="white", width=width, height=height)
self.canvas.pack()
 
Obj.canvas = self.canvas
Anc.canvas = self.canvas
 


ObjListという配列の中にオブジェクト(インスタンス)を格納していきます。
11,12行目でMainCanvasのcanvasをObj、Ancのクラスオブジェクトのcanvasにぶっこみます。
後で線や点の描写をするためメソッドは各々に持ってもらいます。

全体
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
import Tkinter as Tk
 
 
class MainCanvas:
 
canvas = None
ObjList = []
 
def __init__(self, window, width, height):
 
self.canvas = Tk.Canvas(window, bg="white", width=width, height=height)
self.canvas.pack()
 
Obj.canvas = self.canvas
Anc.canvas = self.canvas
 
 
class Obj:
 
canvas = None
color = "green"
AncList = []
 
def __init__(self):
return
 
 
class Anc:
 
canvas = None
width = 1.0
 
def __init__(self,x,y):
self.x = x
self.y = y
 
 
def main():
window = Tk.Tk()
main = MainCanvas(window,400,300)
quit_button = Tk.Button(window, text = "exit",command = window.quit)
quit_button.pack(side = Tk.RIGHT)
window.mainloop()
 
 
if __name__ == '__main__':
main()
 


目次へ
関連記事

コメント

コメントの投稿

非公開コメント

このブログについて
□ ブログ内容
決まった趣旨はありません。
興味を持ったこと・日常で行ったことを何でも書きます。

3DCG・プログラミングなどが多めです。

□ 現在の活動
・ウェブサイト制作
 (http://tiblab.net)
・3Dゲーム制作
 (コックパニック)
検索フォーム
ユーザータグ

Blender キャプチャ blendファイル BGE Python GameEngine ムービー Android CG  Red5 Terragen C# C++ 

カテゴリー
プロフィール

TiBra

Author:TiBra
趣味でCG制作、プログラミング等を行っています。メイカーズに憧れています。

ネットを通じた交流を広げたく思っていますので、コメント・メールはお気軽にどぞー

戯言程度のことは、こちらのブログに投稿しています。基本戯言なので、実質移転しているようなものです。

Mail:tibraあっとlive.jp
HP:TibLabmemocode
動画:VimeoFC2動画ニコニコ
ファイル:SkyDrive
企画:3Dゲーム作業実況

Blogリンク
不都合がございましたらご連絡ください。
当ブログのリンクバナー
FC2 ID
FC2カウンター
RSSフィード+解析コード