ผลต่างระหว่างรุ่นของ "Oop lab/arcade/snake"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 35: | แถว 35: | ||
{{gitcomment|commit งานด้วย!}} | {{gitcomment|commit งานด้วย!}} | ||
+ | |||
+ | === sprite และ snake === | ||
+ | |||
+ | เราจะใช้รูปด้านล่างขนาด 16 x 16 แทนตัวงู | ||
+ | |||
+ | [[Image:Block.png]] | ||
+ | |||
+ | ดาวน์โหลดที่ [https://raw.githubusercontent.com/jittat/arcade-snake/master/images/block.png] แล้วเซฟในโพลเดอร์ <tt>images</tt> ในชื่อ <tt>block.png</tt> | ||
+ | |||
+ | จากนั้นแก้ <tt>SnakeWindow</tt> ดังนี้ | ||
+ | |||
+ | สร้าง arcade.Sprite ใน __init__ | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | def __init__(self, width, height): | ||
+ | # ... ละบรรทัดอื่นไว้ | ||
+ | |||
+ | self.snake_sprite = arcade.Sprite('images/block.png') | ||
+ | self.snake_sprite.set_position(300,300) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | และสร้างเมท็อด <tt>on_draw</tt> มาวาด sprite | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | def on_draw(self): | ||
+ | arcade.start_render() | ||
+ | |||
+ | self.snake_sprite.draw() | ||
+ | </syntaxhighlight> |
รุ่นแก้ไขเมื่อ 21:06, 14 กันยายน 2560
- หน้านี้เป็นส่วนหนึ่งของ oop lab
จุดวิ่ง
ในส่วนแรกเราจะทำงูขนาด 1 ช่องวิ่งไปมาก่อน
เริ่มด้วยเกมว่าง ๆ
ก่อนเริ่ม อย่าลืมสร้าง git repository ไว้ที่ที่จะทำด้วย โดยสั่ง
git init
เราจะเริ่มโดยสร้างคลาส SnakeWindow ว่าง ๆ ไว้ก่อน ทั้งหมดนี้เขียนในไฟล์ snake.py
import arcade
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 600
class SnakeWindow(arcade.Window):
def __init__(self, width, height):
super().__init__(width, height)
arcade.set_background_color(arcade.color.BLACK)
if __name__ == '__main__':
window = SnakeWindow(SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.set_window(window)
arcade.run()
ทดลองรัน
ถ้าทดลองรันได้ อย่าลืม git add snake.py แล้วก็
sprite และ snake
เราจะใช้รูปด้านล่างขนาด 16 x 16 แทนตัวงู
ดาวน์โหลดที่ [1] แล้วเซฟในโพลเดอร์ images ในชื่อ block.png
จากนั้นแก้ SnakeWindow ดังนี้
สร้าง arcade.Sprite ใน __init__
def __init__(self, width, height):
# ... ละบรรทัดอื่นไว้
self.snake_sprite = arcade.Sprite('images/block.png')
self.snake_sprite.set_position(300,300)
และสร้างเมท็อด on_draw มาวาด sprite
def on_draw(self):
arcade.start_render()
self.snake_sprite.draw()