บทความ

กำลังแสดงโพสต์จาก ธันวาคม, 2017

Syntax #Functions

รูปภาพ
Functions ฟังก์ชั่น ก็เหมือนกับกลุ่มคำสั่งที่เขียนขึ้นเพื่อทำหน้าที่อย่างใดอย่างหนึ่ง โดยจะแบ่งเป็น ฟังก์ช้่นระบบ กับ ฟังก์ชั่นที่เขียนขึ้นเอง  ฟังก์ชั่นในระบบตัวอย่างที่เห็นได้ชั่น และเจอบ่อย ๆ func _ready (): pass func _process ( delta ): pass func _fixed_process ( delta ): pass รูปแบบการสร้างฟังก์ชั่น func ชื่อฟังก์ชั่น (ตัวแปร,ตัวแปรn?): (TAB) pass เช่น  func helloworld(): (TAB) print('helloworld') func _ready():         helloworld()         helloworld() รูปแบบการพิมพ์ฟังก์ชั่นของ GDScript จะไม่มีเครื่องหมายปิดและเปิดเหมือนโปรแกรมอื่น ยกตัวอย่าง  #php  function helloworld() {      echo "helloworld"; } ดังนั่นการกด (TAB) ย่อหน้าจะเป็นการบอกถึงข้อมูลที่อยู่ในฟังก์ชั่นนั่น ๆ หรือในเงือนไขนั่น ๆ เช่น 1) func helloworld (text): 2) (TAB) if(text!=""): 3) (TAB)(TAB) print(text) 4) func profile () 5) (TAB) print('sittichai') 6) (TAB) print(20) บรรทัด 1

Godot GDScript Hello World!! #1

รูปภาพ
Hello World ตอนที่ 1         มาลองเขียนอะไรเล่น ด้วย GDScript กัน ให้สร้างโปรเจคใหม่เพื่อทดสอบ GDScript  จากนั่นให้สร้าง โหนด Node2D แล้วทำการเปลี่ยนชื่อ World จากนั่นให้ทำการเชื่อม Node กับ Script เข้าด้วยกัน  โดยการคลิกขวาที่ Node World  เลือก Attach Script *** สามารถบันทึก script รวมกับตัว scene ได้โดยเลือก ตัวอย่าง ในส่วนของ Built-In Script off เปลี่ยนเป็น On จะทำการฝัง script เข้ากับตัว scene ตัวอย่าง กรณีที่ไม่ได้กำหนดจะทำการให้ตั้งชื่อลงในส่วนของ path ทำการตั้งชื่อไฟล์ res://helloworld.gd  กด Create extends Node2D  เป็นการนำคุญสมบัติของ Node2D เข้ามาใช้หรืออ้างอิง func _ready(): จะเป็นฟังก์ชั่น ที่ทำงานเมื่อเริ่มเกม pass จะเป็นคำสั่งฟรี กรณีนึกอะไรไม่ออกหรือเขียนอะไรไม่ได้ ก็ให้ pass ไว้ก่อน  เพราะการที่เขียนฟังก์ชั่นแล้วไม่มีอะไรใน ฟังก์ชั่นจะทำให้ Error การประกาศตัวแปร  var text='Hello world' แสดงข้อความด้วย print(string) func _ready():       print(text) *** เมื่อทดสอบ Run โปร

Godot Export Android (Linux)

รูปภาพ
Export Android (Linux) เมื่อเราติดตั้ง Template ในการ export เรียบร้อย ในส่วนของ android ต้องทำการติดตั้งเพิ่มเติมในส่วนของ SDK ให้ดาว์นโหลดตามนี้ เลยครับ  https://developer.android.com/studio/index.html ให้ทำการติดตั้งให้เรียบร้อย Linux  ทำการแตกไฟล์ ที่ Download มา  ของผมจะแตกไฟล์ ไว้ที่ตำแหน่ง  /home/sit/Android/android-studio ทำการติดตั้ง JDK sudo apt-get install openjdk-8-jre sudo apt-get install adb Config เพิ่มเติมใน godot เปิด godot แล้วไปที่เมนู Export เมื่อคลิกที่ Android จะพบว่ามี ! แจ้งเตือนด้านล่างในส่วนที่ขาดไป  ADB คือให้ระบุข้อมูลของไฟล์ adb   ระบุตำแหน่งของไฟล์ JDK JAVA  เพิ่ม debug keystore ให้เข้าที่เมนู Settings/Editor Setting  เลือกรายการ Android จะพบข้อมูลให้ Config  ADB :  /usr/bin/adb Jarsigner : /home/sit/Android/android-studio/jre/bin/jarsigner Debug Keystore : /home/sit/Android/debug.keystore โดยการสร้าง Debug Keysote ใช้คำสั่งตามด่านล่างได้เลย keytool - keyalg RSA -

Game Spacecraft Preview

รูปภาพ
Spacecraft Preview สวัสดีครับ จากที่ผมได้ศึกษาฝึกพื้นฐาน ก็เกิดเครื่องร้อนขึ้นมา (ยังศึกษาพื้นฐานไม่ครบ) ก็ตัดบททำเกมเลยได้ออกมาพอใจเหมือนกันทำให้รู้ว่า godot มันยอดจริง ๆ  ตอนที่สร้างเกม ก็ยังนึกไม่ออกมาจะสร้างออกมาแนว ๆ ไหน ตอนแรก ก็วาดรูปยาน และศัตรู แบบง่าย ๆ จากนัั้นผมก็ลองสร้าง ทีละขั้นตอน  ภาพตัวละครที่วาดเอง และไปหยิบจากทีื่อื่นอย่างละนิดอย่างละหน่อย แยกไฟล์งานตามชนิด ช่วยให้หาไฟล์ได้ง่าย ไฟล์ Scene ต่าง ๆ ที่สร้าง ไฟล์ GDScript  โดยผมก็นึกว่าผมต้องทำอะไรก่อน ค่อย ๆ ไปที่ล่ะอย่าง  หาวิธีทำให้ยานหรือตัวละครของเราเคลื่อนไหวให้ได้ ก็หยิบยกตัวอย่างจากที่อื่น ๆ มาเขียนดู จริงค่อนข้างจะคล้ายกันในเรื่องการเขียน code เคลื่อนไหว ทำให้กดแล้วปล่อยกระสุน ปรับในเรื่องออกฉาก โดนวัตถุ สร้างศัตรู แบบง่าย ๆ ให้โดนกระสุนแล้วตาย หรือโดนตัวผู้เล่น จากนั่นลองปรับให้มีการเคลื่อนไหว ที่แตกต่าง ๆ เพิ่มฉาก ตอนแรกผมก็จะสร้างฉากเป็นด่าน ๆ แต่เลิกล้มเพราะ น่าจะเยอะเลยจะเอาแค่ ฉากเดียว แล้วเขียน Random ข้อมูลศัตรูต่าง ๆ เอาแทนในฉากเดียว โดยใช้ level บังคั

Godot เบื้องต้น Sprites

รูปภาพ
Sprites สไปรท์ คือรูปภาพต่าง ๆ ที่นำมาใช้ในเกม เช่น ภาพตัวละคร ภาพต้นไม้ อาคาร หรือจะเป็นภาพท่าทางเคลื่อนไหว ต่าง ๆ ภาพสไปรท์ที่ค้นหาจาก google ทดสอบสไปรท์ มาลองเอาสไปรท์เข้าไปยังโปรเจคเกม ให้สร้างโปรเจคใหม่ ชื่อ sprites1   *** ผมจะใส่ภาพประกอบน้อยลง เพราะผู้ฝึกทุกท่านน่าจะมีพื้นฐานจากบทความก่อนหน้ามาแล้ว *** เมื่อเข้าสู่ Editor จะมี สไปรท์1 อันแถบมาด้วย ก็คือ icon ของ godot นั่นเอง  มีส่วนขยายเป็น .png   การนำสไปรท์เข้าสู่เกมหรือนำไปใช้งาน มีด้วยกันตามวิธีที่ผมทดสอบ ภาพโปรเจค sprites1 ก่อนอื่นเลยให้สร้าง root โหนดก่อนครับ  เพิ่มโหนด node2D   ทำการเปลี่ยนชื่อเป็น player คลิกเลือกโหนด player  คลิกที่ ภาพที่ต้องการ ลากลงไปในฉาก ถ้าต้องการเปลี่ยนชนิดด้วย กด Alt แล้วปล่อยเมาว์ที่คลิกไว้  สามารถกำหนดชนิดของโหนดสไปรท์ สร้างโหนด sprite ที่ต้องการ  ตัวอย่างการกำหนด สไปรท์ ไปที่ Inspector Texture เลือก Load และกำหนดไปที่ ภาพ (icon.png)  เราก็จะได้ภาพตัวละคร จากข้อ 2 สามารถลาก ภาพมาวางในช่อง Texture ของ sprite ได้เลย  ความพยายาม

Godot GDScript Syntax #ตัวแปร

รูปภาพ
Syntax มาดู syntax ของ GDScript กันหน่อย ถ้ามีพื้นฐานของ Python อยู่แล้ว ก็สบายครับ อย่างที่อธิบายไปก่อนหน้า  GDScript ได้ยืมรูปแบบมาจาก Python ครับ  ชนิดของตัวแปร GDScript การประการตัวแปร ไม่จำเป็นต้องกำหนดชนิดครับ ทำให้เราไม่ต้องมาคิดว่าเป็นชนิดอะไร ถึงจะเป็นแบบนั่น ผมคิดว่าเราก็จำเป็นที่ต้องรู้ชนิดของตัวแปรในแต่ละประเภท  String (ข้อความ) จะอยู่ในเครื่องหมาย "ข้อความ" var spriteName = "Hero" Integer (ตัวเลข) var age = 25 Float (ตัวเลขทศนิยม) var money = 100.30 Array (อาร์เรย์) ข้อมูลหลายประเภทที่ประกอบกันเป็น ชุด ๆ  var month = ['January','February','March','April'] Dictionary (พจนานุกรม) var person = {'name':"Robert",'age':25}  Boolean (จริง,เท็จ) var cool = true var cool = false การกำหนดตัวแปร การกำหนดตัวแปรทั่วไป var ชื่อตัวแปร = ข้อมูล var name = "Robert" ซึ่งเมื่อกำหนดแล้วต้องการเปลี่ยนค่า  name

Godot เบื้องต้น เมนูไทย

รูปภาพ
ตั้งค่าแสดงเมนูภาษาไทย ตัวอย่างแสดงเมนูภาษาไทย เมนูเป็นภาษาไทยแล้ว วิธีการตั้งค่าเมนูเป็นภาษไทย ให้ทำดังนี้ เมื่อเข้าสู่โปรแกรม ไปคลิกที่ Settings อยู่ด้านขวาบน เลือก Editor Settings  เลือก Settings /Editor Settings มีภาษาไทยด้วย ปรับเปลี่ยนเสร็จให้ปิดเปิดโปรแกรมใหม่ คนที่ประสบความสำเร็จมากที่สุดในโลก คือคนที่พบเจอความผิดพลาดและความล้มเหลวมามากกว่าคนอื่น

Godot เบื้องต้น การเปิดงาน

รูปภาพ
การเปิดแก้ไขงาน ! ทำไม ต้องมาเขียนอธิบายเรื่องนี้กัน ก็ผมเคย งง ตอนช่วงแรก ๆ เนื่องจาก godot การแก้ไขจะเป็นแบบ ระบบแยกไฟล์ จะแก้ไขอะไร ต้องเปิดไฟล์ นั่น ๆ  ขึ้นมา ซึ่ง godot ไม่ได้เปิดขึ้นมาให้เราทุกไฟล์ ที่เคยสร้างไว้ นั่นเอง เปิดไฟล์งาน helloworld  เลือกโปรเจค และทำการ Edit โปรแกรมไม่ได้เปิดไฟล์ให้เรา *** ถ้ามีการกำหนดไฟล์ เริ่มต้นของเกม โปรแกรมจะเปิดไฟล์เริ่มต้นให้   เปิดไฟล์อื่น ๆ  ไปคลิกไฟล์ในส่วนของ File System  ให้คลิกไฟล์ที่ต้องการ แล้ว คลิกขวาเลือก Open ให้คลิกที่ไฟล์ต้องการ ต้องเป็นไฟล์ประเภทที่ Editor รองรับ คือไฟล์ *.tscn และ *.gd  หลังจากเปิดจะขึ้นมาให้แก้ไข ผลลัพธ์ของความพยายาม เรียกว่า " อัจฉริยะ " by ซูซูกิ อิจิโระ www.thaiFranchiseCenter.com

Godot เบื้องต้น File System

รูปภาพ
File System มาเรียนรู้การจัดระบบไฟล์กันหน่อยดีกว่า  ส่วนนี้ถือว่าเป็นสิ่งจำเป็นที่จะช่วยให้นักพัฒนาเกมสามารถแก้ไข หรือค้นหาได้รวดเร็วยิ่งขึ้น และการได้รู้จักชนิดของไฟล์ ก็จำเป็นที่จะสามารถแยกกลุ่มของข้อมูลได้ ก่อนอื่นเรามาดู ชนิดไฟล์หลัก ๆ ของระบบ godot มีอะไรบ้าง engine.cfg เป็นไฟล์ Config ของโปรเจคครับ ซึ่งข้างในจะเป็นข้อมูล text สามารถแก้ไขได้ และเป็นไฟล์ที่ใช้สำหรับเริ่มเปิดโปรเจค *.tscn เป็นไฟล์ข้อมูล Scene ของโปรเจค  *.gd เป็นไฟล์ข้อมูล GDscript  ระบบ   Path  godot จะลองรับ  /  เท่านั่นถ้าเป็นระบบอื่น เช่น windows ในการอ้างถึงก็จะเป็น  c:\godot\helloworld\engine.cfg  ก็ต้องเปลี่ยนเป็น c:/godot/helloworld/engine.cfg Resource path เป็นระบบ path ที่อ้างอิงเฉพาะในโปรเจคที่สร้างเท่านั่น  โดยจะขึ้นต้นด้วย res://  เช่น  var res = preload ( "res://coin.png" ) ตัวอย่าง File System การจัดเก็บงานให้เป็นหมวดหมู่ จัดแยกข้อมูลตามประเภทของไฟล์ ซึ่งแนะนำให้ฝึก ตัวอย่าง  ไฟล์ ฉาก (*.tscn) ก็ต้องชื่อ Folder เป็น sca

Godot เบื้องต้น GDScript

รูปภาพ
GDScript เป็นภาษเขียนโปรแกรมแบบไดนามิคที่ยืมรูปแบบมาจาก python   ซึ่งเป็นภาษาที่เข้าใจรูปแบบง่ายและสามารถเรียนรู้ได้เร็ว ไดนานิค ตรงนี้ จะอธิบายง่าย ๆ คือภาษาที่่เขียนโดยไม่ต้องกำหนดชนิดของข้อมูล  ถ้าอยากทราบละเอียดกว่านี้ ตามไปอ่านได้  GDScript ลองใช้ GDScript ผมจะใช้ตัวอย่างจากโปรเจค helloworld ( สร้างโปรเจค helloworld ) โดย จะทำการเพิ่มปุ่มกด ลงในฉาก ( อ่านเพิ่มเติมได้ ที่นี่ ) และจะเขียน GDScript กำหนดให Label เปลียนเป็นข้อความอื่น ทำการเพิ่มโหนด Button ใหม่ และทำการจัดปุ่มตามตัวอย่าง Button จะเป็น โหนดลูกของ Label จัดตำแหน่งข้อความและเพิ่มข้อความ จากนั้นไปที่คลิกเหลือก โหนด Label  คลิกที่ + เป็นคำสั่ง เพิ่ม GDScript เข้ากับโหนด Label ขึ้นหน้าต่างให้กำหนดข้อมูล ในส่วนของ Path โดยปกติจะตั้งชื่อให้เอง โดยจะอ้างอิงจากชื่อโหนด  กด Create จะแสดงหน้าต่าง Editor สำหรับพิมพ์ GDScript จากนั้น จะทำการเพิ่ม  Function ของปุ่มลงใน Label จะเรียกว่า Signals  ให้คลิกเลือก Button แล้วไปที่ Node แสดงรายการ Signals ของโหนดปุ่ม จากนั่นให้คลิกที