ผลต่างระหว่างรุ่นของ "01204223/kivy"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 47: | แถว 47: | ||
ทดลองเรียก python main.py จะเห็นหน้าจอที่มีคำว่า hello | ทดลองเรียก python main.py จะเห็นหน้าจอที่มีคำว่า hello | ||
+ | |||
+ | แฟ้ม <tt>pong.kv</tt> จะถูกอ่านโดยอัตโนมัติโดย App ที่ชื่อ <tt>PongApp</tt> | ||
+ | |||
+ | === เพิ่มลูกบอล === | ||
+ | |||
+ | เราจะเพิ่มคลาส <tt>PongBall</tt> ลงใน main.py | ||
+ | |||
+ | class PongBall(Widget): | ||
+ | pass | ||
+ | |||
+ | จากนั้นแก้ไข <tt>pong.kv</tt> โดยเพิ่มข้อมูลเกี่ยวกับการวาดวัตถุของคลาส <tt>PongBall</tt> และเพิ่มลูกบอลลงใน widget <tt>PongGame</tt> | ||
+ | |||
+ | <pre> | ||
+ | #:kivy 1.7.1 | ||
+ | |||
+ | <PongBall>: | ||
+ | size: 50, 50 | ||
+ | canvas: | ||
+ | Ellipse: | ||
+ | pos: self.pos | ||
+ | size: self.size | ||
+ | |||
+ | <PongGame>: | ||
+ | Label: | ||
+ | font_size: 70 | ||
+ | center_x: (root.width * 3) / 4 | ||
+ | top: root.top - 50 | ||
+ | text: "hello" | ||
+ | |||
+ | PongBall: | ||
+ | center: self.parent.center | ||
+ | </pre> |
รุ่นแก้ไขเมื่อ 00:10, 15 กรกฎาคม 2556
ติดตั้ง kivy
การติดตั้ง สั่งคำสั่งต่อไปนี้ใน shell (อย่าลืม login เครือข่ายนนทรีก่อน)
sudo apt-get install python-setuptools python-pygame python-opengl \ python-gst0.10 python-enchant gstreamer0.10-plugins-good python-dev \ build-essential libgl1-mesa-dev libgles2-mesa-dev cython python-pip
จากนั้นสั่ง
sudo easy_install kivy
ทดลองโปรแกรมด้านล่าง
ให้สร้างไดเร็กทอรีย่อย จากนั้นป้อนโปรแกรมด้านล่างลงในแฟ้ม main.py
from kivy.app import App from kivy.uix.widget import Widget class PongGame(Widget): pass class PongApp(App): def build(self): return PongGame() if __name__ == '__main__': PongApp().run()
Kv Language และการสร้าง widget
Kivy แยกส่วนออกแบบหน้าจอออกมาเป็นแฟ้มนามสกุล kv ในส่วนนี้เราจะทดลองการใช้แฟ้มดังกล่าว และแนวคิดพื้นฐานเกี่ยวกับการตอบสนอง event และ observer patterns
เพิ่มแฟ้มชื่อ pong.kv ในไดเร็กทอรี
#:kivy 1.7.1 <PongGame>: Label: font_size: 70 center_x: (root.width * 3) / 4 top: root.top - 50 text: "hello"
ทดลองเรียก python main.py จะเห็นหน้าจอที่มีคำว่า hello
แฟ้ม pong.kv จะถูกอ่านโดยอัตโนมัติโดย App ที่ชื่อ PongApp
เพิ่มลูกบอล
เราจะเพิ่มคลาส PongBall ลงใน main.py
class PongBall(Widget): pass
จากนั้นแก้ไข pong.kv โดยเพิ่มข้อมูลเกี่ยวกับการวาดวัตถุของคลาส PongBall และเพิ่มลูกบอลลงใน widget PongGame
#:kivy 1.7.1 <PongBall>: size: 50, 50 canvas: Ellipse: pos: self.pos size: self.size <PongGame>: Label: font_size: 70 center_x: (root.width * 3) / 4 top: root.top - 50 text: "hello" PongBall: center: self.parent.center