Mypaint 1.2.0a เวอร์ชั่นใหม่ที่กำลังพัฒนาอยู่ในปัจจุบัน เพิ่งมีโอกาสโหลดมาใช้ ถ้าใช้งานกับเมาส์ไม่มีปัญหาอะไร แต่พอมาให้กับพวก Drawing tablet กลับมีปัญหาวาดไม่ตรงจุด เส้นซิกแซกตามภาพ
หาวิธีแก้ไขอยู่นาน จนพบสาเหตุ เนื่องจากใน Edit -> Preferences -> Devices ตรงคอลัม Use for.. มีการเลือกให้เมาส์ทำงานได้หลายอย่าง (Any task) หมายความว่าทั้งวาด คลิก เลื่อนภาพทั้งหมด ซึ่งในกรณีที่เราใช้งานเมาส์อย่างเดียวก็จะไม่มีปัญหา แต่ในกรณีที่ผู้ใช้(เช่นตัวผม) มีการให้งานพวก Drawing tablet ด้วยก็จะเกิดอาการดังภาพด้านบนคือแย่งกันทำงาน จนเกิดอาการรวน วิธีแก้ดังรูปถัดไป
ให้เข้าไปที่ Edit -> Preferences -> Devices ตรงคอลัม Use for.. คลิกเปลี่ยนค่าของ Mouse จาก Any task เป็นค่าอื่นคือ Ignore, Non-painting tasks, Nevigation only ก็จะทำให้ใช้งาน Drawing tablet ได้ตามปกติ
วันพุธที่ 24 มิถุนายน พ.ศ. 2558
แก้ไขปัญหา อาการวาดไม่ตรงจุดใน Mypaint 1.2.0a
ป้ายกำกับ:
deliberate brush stroke,
fixed,
Mypaint
วันศุกร์ที่ 12 ธันวาคม พ.ศ. 2557
ใช้งานฟรี Microsoft Visual Studio Community 2013
ถ้าใครหลายคนที่เคยเขียนโปรแกรมมานาน ผ่านการใช้งานเครื่องมือในการพัฒนาและเขียนโปรแกรมตั้งแต่อดีต คงจะคุ้นเคยหรือรู้จัก Microsoft Visual Studio ซึ่งถูกสร้างขึ้นมาเป็นเครื่องมือสำหรับใช้สร้างโปรแกรม บนแพลตฟอร์มของระบบปฏิบัติการวินโดวส์โดยเฉพาะ ในอดีตนั้นถ้าเราต้องการใช้งานต้องซื้อในราคาเริ่มต้นหลายหมื่นบาท แต่ต่อมาก็มีเวอร์ชั่นฟรี ที่เรียกว่า Microsoft Visual Studio Express ซึ่งเป็นเวอร์ชั่นที่ถูกตัดความสามารถหลาย ๆ อย่างออก ให้เหมาะสมกับการใช้งานในระดับของผู้เริ่มต้น จนกระทั่งปัจจุบัน ก็มีการปล่อย Microsoft Visual Studio Community 2013 ออกมาให้ใช้งานฟรี โดยที่จริงแล้วมันก็คือตัว Visual Studio Professional 2013 นั้นเอง
โดยส่วนตัวผมคิดว่าเครื่องมือเขียนโปรแกรมที่ดีที่สุดบนวินโดวส์ในแบบ IDE คงเป็น Microsoft Visual Studio ทั้งความเร็วในการทำงาน ความเข้ากันได้ของระบบ รวมถึงการติดตั้งที่ง่าย
ใครสนใจดาวโหลดได้ที่ Microsoft Visual Studio Community 2013 (การติดตั้งต้องเชื่อมต่ออินเตอร์)
โดยส่วนตัวผมคิดว่าเครื่องมือเขียนโปรแกรมที่ดีที่สุดบนวินโดวส์ในแบบ IDE คงเป็น Microsoft Visual Studio ทั้งความเร็วในการทำงาน ความเข้ากันได้ของระบบ รวมถึงการติดตั้งที่ง่าย
ใครสนใจดาวโหลดได้ที่ Microsoft Visual Studio Community 2013 (การติดตั้งต้องเชื่อมต่ออินเตอร์)
ป้ายกำกับ:
Microsoft Visual Studio Community 2013
วันพฤหัสบดีที่ 17 กรกฎาคม พ.ศ. 2557
ทดสอบ USB Ocilloscope Hantek 6022BE
ถ้ากล่าวถึงการวัดสัญญาณทางไฟฟ้า เครื่องมือที่ขาดไม่ได้ก็คงจะเป็น ออสซิลโลสโคป (Ocilloscope) ซึ่งโดยปกติจะมีราคาที่สูง แต่วันนี้ได้มีโอกาสลองจับและใช้งานคร่าวๆ ของตัว USB Ocilloscope Hantek 6022BE ซึ่งราคาไม่แพงมากประมาณ 2,3xx บาทเท่านั้น ก็จะมารีวิวอย่างง่ายๆ สั้นๆให้กัน
ของในกล่องที่ให้มาประกอบด้วย
1. สาย USB สำหรับเชื่อมต่อ
2. สายออสซิลโลสโคป 2 เส้น
3. ตัวเครื่องออสซิลโลสโคป Hantek 6022BE วัดได้สูงสุด 20Mhz
4. แผ่นไดรเวอร์และโปรแกรม
ของในกล่องที่ให้มาประกอบด้วย
1. สาย USB สำหรับเชื่อมต่อ
2. สายออสซิลโลสโคป 2 เส้น
3. ตัวเครื่องออสซิลโลสโคป Hantek 6022BE วัดได้สูงสุด 20Mhz
4. แผ่นไดรเวอร์และโปรแกรม
วันจันทร์ที่ 31 มีนาคม พ.ศ. 2557
แนะนำเครื่องมือสร้างกราฟฟิกสไตล์ Voxel
กราฟฟิกสไตล์ Voxel ตัวอย่างเช่น Minecraft , Cubeworld
เครื่องมือฟรีที่แนะนำให้ใช้งาน
MagicaVoxel
VoxelShop
เครื่องมือฟรีที่แนะนำให้ใช้งาน
MagicaVoxel
VoxelShop
ป้ายกำกับ:
voxel
วันศุกร์ที่ 28 กุมภาพันธ์ พ.ศ. 2557
เรียนเขียนโปรแกรมด้วย Youtube
โดยปกติแล้วผมชอบหาบทเรียนช่วยสอนเขียนโปรแกรมภาษาต่างๆ อยู่เสมอ แต่ช่วงหลังมานี้ไม่ค่อยมีเวลาได้อ่านบทความหรือบทเรียน มากนักแต่อาศัยเปิดวิดีโอสอนผ่านทาง Youtube ซึ่งวันนี้ผมก็จะนำมาแบ่งปันกับผู้ที่สนใจดังนี้
เขียนโค้ดเกี่ยวข้องกับฟังก์ชั่นทางคณิตศาสตร์
เขียนเกมด้วย JAVA
เขียนเกม 3D ด้วย JAVA
เรียนทุกวิชาแบบเร่งรัด CrashCourse
เขียนเกมด้วย C
เขียนเกมโดยใช้ LibGDX
PIC ไมโครคอนโทรลเลอร์
เกี่ยวกับ Erlang
เขียนโค้ดเกี่ยวข้องกับฟังก์ชั่นทางคณิตศาสตร์
เขียนเกมด้วย JAVA
เขียนเกม 3D ด้วย JAVA
เรียนทุกวิชาแบบเร่งรัด CrashCourse
เขียนเกมด้วย C
เขียนเกมโดยใช้ LibGDX
PIC ไมโครคอนโทรลเลอร์
เกี่ยวกับ Erlang
วันศุกร์ที่ 31 มกราคม พ.ศ. 2557
แนะนำโปรแกรมช่วยเขียนโค้ด และโปรแกรมด้านการคำนวณ ใช้งานฟรี
Brackets โปรแกรมที่ช่วยในการเขียนโค้ดโดยเน้นทางโค้ด HTML เป็นหลัก โดยมีพื้นฐานในการจัดการกับโค้ดที่เขียนจาก CodeMirror สามารถโหลดใช้งานได้ฟรี
ข้อแนะนำในการใช้โปรแกรม
โปรแกรมสำหรับใช้ในงานคำนวณแทน Matlab
โปรแกรมที่จะแนะนำเป็นโปรแกรมฟรีแวร์ที่ สามารถงานช่วยในการคำนวณในทางวิทยาศาสตร์และวิศวกรรม ซึ่งเหมาะกับนักศึกษาและผู้สนใจ ที่จะนำมาใช้งานแทน Matlab ที่ราคาค่อนข้างสูง
ข้อแนะนำในการใช้โปรแกรม
- โปรแกรมทำงานได้ดีบน Linux โดยส่วนตัวทดลองใช้บน Xubuntu ไม่มีปัญหากับการแสดงผลภาษาไทย และควรปิดแอฟแฟกต์ต่างๆ ในการแสดงผลของหน้าต่างโปรแกรมใน Settings Manager ให้หมดเพราะจะมีผลทำให้การแสดงผลใน Brackets ช้าและกระตุก
โปรแกรมทำงานบน Windows ติดปัญหาการแสดงผลภาษาไทย ตัวอักษรไม่ตรงกับเคอร์เซอร์ โดยคิดว่าน่าจะเกิดจากที่ใช้เอนจิ้นของ Webkit ในการแสดงผล ทดลองโดยใช้เบราเซอร์หลายๆ ตัวเข้าทดสอบใช้งาน CodeMirrorปัจุบันในเวอร์ชั่น Release 38 การแสดงผลภาษาไทยเป็นปกติดีแล้ว
โปรแกรมสำหรับใช้ในงานคำนวณแทน Matlab
โปรแกรมที่จะแนะนำเป็นโปรแกรมฟรีแวร์ที่ สามารถงานช่วยในการคำนวณในทางวิทยาศาสตร์และวิศวกรรม ซึ่งเหมาะกับนักศึกษาและผู้สนใจ ที่จะนำมาใช้งานแทน Matlab ที่ราคาค่อนข้างสูง
ป้ายกำกับ:
brackets,
freemat,
gnu octave,
scilab
วันเสาร์ที่ 30 พฤศจิกายน พ.ศ. 2556
Command & Conquer: Tiberian Sun + Expansion โหลดฟรี
สำหรับใครที่เคยเล่นเกมตระกูล Command & Conquer: Tiberian Sun คุณรู้ไม่ว่าหลังจากที่ EA ซื้อสตูผลิดเกมนี้ไปแล้ว เราก็ปล่อยเป็น Freeware สามารถลงหาลิงค์ดาวโหลดกันได้จาก google หรือ ลิงค์นี้ Command & Conquer: Tiberian Sun + Expansion Full Free Game
ย้อนอดีตกันหน่อยสำหรับเกม Command & Conquer: Tiberian Sun นั้นเป็นเกมวางแผน (RTS) โดยใช้การแสดงผลเป็นแบบสองมิติ พัฒนาโดย Westwood Studios เกมนี้ผมเล่นตั้งแต่คอมพิวเตอร์ยังใช้เป็น AMD Duron 800 Mhz ย้อนไปตั้งสิบปีกว่าเลยทีเดียว เล่นโหมดเนื้อเรื่องสนุก ภาพสวย ถึงแม้เทียบภาพการแสดงผลกับเวอร์ชั่น Command & Conquer 4 ไม่ได้แต่รูปแบบการเล่นสนุกกว่ากันมาก ถ้าใครไม่เคยเล่นผมแนะนำว่าควรลองเล่น แล้วจะรู้ว่าเกมเก่าๆ บางเกมสนุกกว่าเกมใหม่ๆมาก
เปรียบเทียบ
Command & Conquer: Tiberian Sun
Command & Conquer 4
ย้อนอดีตกันหน่อยสำหรับเกม Command & Conquer: Tiberian Sun นั้นเป็นเกมวางแผน (RTS) โดยใช้การแสดงผลเป็นแบบสองมิติ พัฒนาโดย Westwood Studios เกมนี้ผมเล่นตั้งแต่คอมพิวเตอร์ยังใช้เป็น AMD Duron 800 Mhz ย้อนไปตั้งสิบปีกว่าเลยทีเดียว เล่นโหมดเนื้อเรื่องสนุก ภาพสวย ถึงแม้เทียบภาพการแสดงผลกับเวอร์ชั่น Command & Conquer 4 ไม่ได้แต่รูปแบบการเล่นสนุกกว่ากันมาก ถ้าใครไม่เคยเล่นผมแนะนำว่าควรลองเล่น แล้วจะรู้ว่าเกมเก่าๆ บางเกมสนุกกว่าเกมใหม่ๆมาก
เปรียบเทียบ
Command & Conquer: Tiberian Sun
Command & Conquer 4
ป้ายกำกับ:
Command & Conquer,
freeware,
Tiberian Sun
วันพฤหัสบดีที่ 24 ตุลาคม พ.ศ. 2556
แนะเครื่องมือช่วยในการเขียนโค้ดโปรแกรม IDE, Text editor
เนื่องจากโดยส่วนตัวแล้วผมเองชอบเขียนโปรแกรมหลากหลายภาษา ดังนั้นวันนี้จึงจะมาแบ่งปันเครื่องมือที่ผมชอบใช้กับการเขียนโปรแกรมภาษาต่างๆ รวมถึงเฟรมเวิร์ค
1. Notepad++
Notepad++ เป็นเครื่องมือสำหรับแก้ไขโค้ดโปรแกรม (Text Editor) แบบเน้นๆไม่มีตัวช่วยมากนัก เหมาะสำหรับคนที่ต้องการความเร็วในการทำงาน มี Syntax Highlight ให้หลากหลายภาษา โดยส่วนตัวแล้วผมจะใช้แก้โค้ดที่เกิดมีข้อผิดพลาดไม่มาก
ข้อดีโดยสรุปที่ได้ใช้งาน
1. Notepad++
Notepad++ เป็นเครื่องมือสำหรับแก้ไขโค้ดโปรแกรม (Text Editor) แบบเน้นๆไม่มีตัวช่วยมากนัก เหมาะสำหรับคนที่ต้องการความเร็วในการทำงาน มี Syntax Highlight ให้หลากหลายภาษา โดยส่วนตัวแล้วผมจะใช้แก้โค้ดที่เกิดมีข้อผิดพลาดไม่มาก
ข้อดีโดยสรุปที่ได้ใช้งาน
- ฟรีแวร์
- เปิดโปรแกรมเร็ว
- ไม่มีปัญหากับภาษาไทย (สระไม่ลอย)
- มีส่วนเสริมช่วยในการทำงานมากและฟรี
ป้ายกำกับ:
eclipse,
enide,
erlang,
erlide,
ide,
javascript,
netbeans,
notepad++,
php,
text editor
วันจันทร์ที่ 30 กันยายน พ.ศ. 2556
Netbeans 7.4 + Cordova และทำกราฟด้วย jqPlot
มีเวลาเขียนบนความแค่เดือนละครั้ง วันนี้ก็เลยจะมาแนะนำ Cordova ซึ่งเป็นแฟลตฟอร์มที่ใช้สร้างแอปพลิเคชั่นแบบ Native บนอุปกรณ์พกพา โดยใช้ภาษา HTML, CSS, Javascript สนับสนุนการทำงานบน iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada, และ Symbian การติดตั้งและใช้งาน ดูได้จากลิงค์นี้ ข่าวดีตอนนี้มันกำลังรวมกับเครื่องมือพัฒนาที่ดีอีกอย่างก็คือ Netbean 7.4 ( ตอนนี้ยังเป็น NetBeans IDE 7.4 RC1 ) ลองดาวน์โหลด และดูวิธีติดตั้งเพื่อใช้งาน Cordova ได้ที่นี่
อันสุดท้ายที่จะมาแนะนำในวันนี้ก็คือ jqPlot เป็นปลั๊กอินของ jQuery ที่ช่วยในการสร้างกราฟรูปแบบต่าง ใช้งานง่าย และที่สำคัญ ซึ่งผมชอบมาก็คือสามารถบันทึกออกมาเป็นไฟล์รูปไว้ใช้ในงานในเอกสารได้ด้วย ตัวอย่างการใช้งานดูได้จากไฟล์ที่ดาวน์โหลดไปครับ
อันสุดท้ายที่จะมาแนะนำในวันนี้ก็คือ jqPlot เป็นปลั๊กอินของ jQuery ที่ช่วยในการสร้างกราฟรูปแบบต่าง ใช้งานง่าย และที่สำคัญ ซึ่งผมชอบมาก็คือสามารถบันทึกออกมาเป็นไฟล์รูปไว้ใช้ในงานในเอกสารได้ด้วย ตัวอย่างการใช้งานดูได้จากไฟล์ที่ดาวน์โหลดไปครับ
วันเสาร์ที่ 31 สิงหาคม พ.ศ. 2556
เฟรมเวิร์คและไลบรารี Javascritp พัฒนาเกมแสดงผลผ่าน HTML5
สำหรับใครที่สนใจการเขียนเกมบนเว็บไซต์ วันนี้ผมก็ขอแนะนำเฟรมเวิร์คที่น่าสนใจ ซึ่งก็คือ
Impact เป็นเกมเอ็นจิ้นตัวหนึ่งที่มีความสามารถสูง เครื่องมือพร้อมในการพัฒนาเกม รวมถึงการสนับสนุน การแสดงผลทั้งแบบ Desktop และ Mobile แต่มันไม่ฟรี สามารถลองอ่านเอกสารวิธีใช้ก่อนซื้อ หรือ ดูผลงานเกมที่ใช้ Impact ส่วนตัวผมชอบเกมนี้ CrossCode
CreateJS เป็นชุดไลบรารี ที่สร้างมาสำหรับทำงานอินเตอเรคทีฟผ่าน HTML5 ประกอบด้วย
EaselJS ไลบรารีช่วยในการแสดงภาพผ่าน Canvas ของ HTML5 ให้ง่ายขึ้น
TweenJS ช่วยสร้างการเคลื่อนไหวแบบ Tweening
SoundJS จัดการเล่นเสียง
PreloadJS จัดการโหลดสิ่งที่ต้องการ ก่อนนำไปใช้งาน ทั้งภาพ เสียง สคริป และข้อมูลอื่นๆ
ข้อดีคือฟรี และมีผู้สนับสนุนใหญ่อย่าง Adobe และ Microsoft อยู่ อีกทั้งไลบรารีนี้ Adobe ใช้เป็นไลบรารีสำหรับแสดงผล เมื่อทำการแปลงจาก Flash เป็น HTML5
Atari Arcade SDK ชุดเครื่องมือช่วยสร้างเกมที่มีพื้นฐานจาก CreateJS ตัวอย่างเกมดูได้ทางนี้ โดยเขียนสนับสนุนโดยหลักให้ใช้กับ IE และ Windows 8
enchant.js เป็นชุดไลบรารีที่ค่อนข้างครบที่สุดสำหรับการสร้างเกม สนับสนุนทั้งเว็บเบราเซอร์ทั้งบน Desktop และ Mobile สนับสนุนการพัฒนาบน Windows 8 มีตัวช่วยสร้างการเคลื่อนไหวแบบ Tweening สนับสนุนการเขียนแสดงผลทั้งบน Canvas และ DOM รวมถึงแสดงผล 3D ผ่าน WebGL และที่สำคัญฟรีในการใช้งาน พัฒนาและดูแลโดย Akihabara Research Center ของญี่ปุ่น ตัวอย่างเกม ส่วนมากเป็นของญี่ปุ่น
Impact เป็นเกมเอ็นจิ้นตัวหนึ่งที่มีความสามารถสูง เครื่องมือพร้อมในการพัฒนาเกม รวมถึงการสนับสนุน การแสดงผลทั้งแบบ Desktop และ Mobile แต่มันไม่ฟรี สามารถลองอ่านเอกสารวิธีใช้ก่อนซื้อ หรือ ดูผลงานเกมที่ใช้ Impact ส่วนตัวผมชอบเกมนี้ CrossCode
CreateJS เป็นชุดไลบรารี ที่สร้างมาสำหรับทำงานอินเตอเรคทีฟผ่าน HTML5 ประกอบด้วย
EaselJS ไลบรารีช่วยในการแสดงภาพผ่าน Canvas ของ HTML5 ให้ง่ายขึ้น
TweenJS ช่วยสร้างการเคลื่อนไหวแบบ Tweening
SoundJS จัดการเล่นเสียง
PreloadJS จัดการโหลดสิ่งที่ต้องการ ก่อนนำไปใช้งาน ทั้งภาพ เสียง สคริป และข้อมูลอื่นๆ
ข้อดีคือฟรี และมีผู้สนับสนุนใหญ่อย่าง Adobe และ Microsoft อยู่ อีกทั้งไลบรารีนี้ Adobe ใช้เป็นไลบรารีสำหรับแสดงผล เมื่อทำการแปลงจาก Flash เป็น HTML5
Atari Arcade SDK ชุดเครื่องมือช่วยสร้างเกมที่มีพื้นฐานจาก CreateJS ตัวอย่างเกมดูได้ทางนี้ โดยเขียนสนับสนุนโดยหลักให้ใช้กับ IE และ Windows 8
enchant.js เป็นชุดไลบรารีที่ค่อนข้างครบที่สุดสำหรับการสร้างเกม สนับสนุนทั้งเว็บเบราเซอร์ทั้งบน Desktop และ Mobile สนับสนุนการพัฒนาบน Windows 8 มีตัวช่วยสร้างการเคลื่อนไหวแบบ Tweening สนับสนุนการเขียนแสดงผลทั้งบน Canvas และ DOM รวมถึงแสดงผล 3D ผ่าน WebGL และที่สำคัญฟรีในการใช้งาน พัฒนาและดูแลโดย Akihabara Research Center ของญี่ปุ่น ตัวอย่างเกม ส่วนมากเป็นของญี่ปุ่น
ป้ายกำกับ:
Atari Arcade SDK,
createjs,
enchant.js,
impact
วันพุธที่ 31 กรกฎาคม พ.ศ. 2556
แนะนำเครื่องมือสร้างเกม Project Anarchy และ Unity
ปัจจุบันถ้าเราต้องการสร้างเกมให้รวดเร็ว และเล่นได้หลายแฟลทฟอร์ม ไม่ว่าจะเป็น Android, iOS, Windows หรือเครื่องแบบอื่นๆ การที่เราจะต้องมานั้นสร้างโค้ดหรือปรับแต่งกราฟฟิคต่างๆ ให้เหมาะสมกับทุกแฟลทฟอร์ม ทำให้เราเสียเวลาและโอกาสในการสร้างและเผยแพร่เกมของเรา
ดังนั้นปัจจุบันจึงมีการออกเครื่องมือมากมาย มาเป็นตัวช่วยในการสร้างเกม ซึ่งวันนี้ที่จะแนะนำก็คือ
Project Anarchy ผู้สนับสนุนหลักคือ Intel เป็นเครื่องมือสร้างเกมที่ประกอบด้วยเครื่องมือ สร้างภาพเคลื่อนไหว เอฟเฟค ฉาก เขียนการควบคุมผ่าน Lua script เกมที่สร้างขึ้นอยู่บนพื้นฐานของ Havok สามารถสร้างเกมบน Android, iOS Tizen ได้ฟรีไม่ต้องซื้อไลเซนต์เพิ่มเติ่ม ส่วนการสร้างเกมบน Windows ก็สามารถทำได้แต่ ณ ตอนนี้การที่จะขายเกมที่สร้างเพื่อเล่นบน Windows ต้องจ่ายเงินซื้อไลเซนต์เพิ่มเติม
Unity เครื่องมือสร้างเกมที่ค่อนข้างได้รับความนิยมในการนำไปใช้งานเป็นอย่างมากในปัจจุบัน มีทั้งเวอร์ชั่นฟรี และโปร ซึ่งทั้งสองสามารถสร้างเกมได้ทั้งบน Android, BlackBerry, iOS, Windows จุดเด่นคือใช้งานง่าย มีกลุ่มผู้ใช้จำนวนมากทำให้เวลาเกิดปัญหาสามารถหาทางแก้ไขได้ง่าย
ดังนั้นปัจจุบันจึงมีการออกเครื่องมือมากมาย มาเป็นตัวช่วยในการสร้างเกม ซึ่งวันนี้ที่จะแนะนำก็คือ
Project Anarchy ผู้สนับสนุนหลักคือ Intel เป็นเครื่องมือสร้างเกมที่ประกอบด้วยเครื่องมือ สร้างภาพเคลื่อนไหว เอฟเฟค ฉาก เขียนการควบคุมผ่าน Lua script เกมที่สร้างขึ้นอยู่บนพื้นฐานของ Havok สามารถสร้างเกมบน Android, iOS Tizen ได้ฟรีไม่ต้องซื้อไลเซนต์เพิ่มเติ่ม ส่วนการสร้างเกมบน Windows ก็สามารถทำได้แต่ ณ ตอนนี้การที่จะขายเกมที่สร้างเพื่อเล่นบน Windows ต้องจ่ายเงินซื้อไลเซนต์เพิ่มเติม
Unity เครื่องมือสร้างเกมที่ค่อนข้างได้รับความนิยมในการนำไปใช้งานเป็นอย่างมากในปัจจุบัน มีทั้งเวอร์ชั่นฟรี และโปร ซึ่งทั้งสองสามารถสร้างเกมได้ทั้งบน Android, BlackBerry, iOS, Windows จุดเด่นคือใช้งานง่าย มีกลุ่มผู้ใช้จำนวนมากทำให้เวลาเกิดปัญหาสามารถหาทางแก้ไขได้ง่าย
วันอาทิตย์ที่ 9 มิถุนายน พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 4
Functions
- ฟังก์ชั่นถูกจัดกลุ่มเก็บไว้ใน module
- ชื่อฟังก์ชั่นเป็น atom
- ฟังก์ชั่นประกอบด้วยส่วนหัวคือชื่อของฟังก์ชั่น และวงเล็บพารามิเตอร์
- จำนวนพารามิเตอร์เรียก arity
- ใช้เครื่องหมายลูกศร (->) เป็นตัวแยกส่วนหัวกับ ตัวของฟังก์ชั่น
ตัวอย่างฟังก์ชั่นคำนวณพื้นที่ของรูปทรง
area({square,Side})->
Side*Side;
area({cicle,Radius})->
math:pi()*Radius*Raduis;
area({triangle,A,B,C})->
S=(A+B+C)/2,
math:sqrt(S*(S-A)*(S-B)*(S-C));
area(Other)->
{error,invalid_object}.
การใช้งานฟังก์ชั่น เมื่อมีการผ่านค่าพารามิเตอร์ จะมีการตรวจสอบรูปแบบของพารามิเตอร์ว่ามีความสัมพันธ์ตรงกับฟังก์ชั่นใด
1. เทียบแล้วถ้ามีรูปแบบที่ถูกต้อง ตัวแปรถูกผูก ส่วนของคำสั่งภายในฟังก์ชั่นประมวลผล
2. ถ้าไม่ ให้เทียบกับฟังก์ชั่นถัดไป
3. ถ้าไม่มีฟังก์ชั่นใดที่รูปแบบตรงกับพารามิเตอร์ ให้ทำฟังก์ชั่น area(Other) ซึ่งเป็นฟังก์ชั่น catch-all
ตัวอย่างฟังก์ชั่น factorial แบบ recursive
factorial(0)-> 1;
factorial(N)->
N*factorial(N-1);
- ฟังก์ชั่นถูกจัดกลุ่มเก็บไว้ใน module
- ชื่อฟังก์ชั่นเป็น atom
- ฟังก์ชั่นประกอบด้วยส่วนหัวคือชื่อของฟังก์ชั่น และวงเล็บพารามิเตอร์
- จำนวนพารามิเตอร์เรียก arity
- ใช้เครื่องหมายลูกศร (->) เป็นตัวแยกส่วนหัวกับ ตัวของฟังก์ชั่น
ตัวอย่างฟังก์ชั่นคำนวณพื้นที่ของรูปทรง
area({square,Side})->
Side*Side;
area({cicle,Radius})->
math:pi()*Radius*Raduis;
area({triangle,A,B,C})->
S=(A+B+C)/2,
math:sqrt(S*(S-A)*(S-B)*(S-C));
area(Other)->
{error,invalid_object}.
การใช้งานฟังก์ชั่น เมื่อมีการผ่านค่าพารามิเตอร์ จะมีการตรวจสอบรูปแบบของพารามิเตอร์ว่ามีความสัมพันธ์ตรงกับฟังก์ชั่นใด
1. เทียบแล้วถ้ามีรูปแบบที่ถูกต้อง ตัวแปรถูกผูก ส่วนของคำสั่งภายในฟังก์ชั่นประมวลผล
2. ถ้าไม่ ให้เทียบกับฟังก์ชั่นถัดไป
3. ถ้าไม่มีฟังก์ชั่นใดที่รูปแบบตรงกับพารามิเตอร์ ให้ทำฟังก์ชั่น area(Other) ซึ่งเป็นฟังก์ชั่น catch-all
ตัวอย่างฟังก์ชั่น factorial แบบ recursive
factorial(0)-> 1;
factorial(N)->
N*factorial(N-1);
ป้ายกำกับ:
erlang
วันอังคารที่ 4 มิถุนายน พ.ศ. 2556
แนะนำการให้งานสีของ Copic กับโปรแกรมวาดรูป
สำหรับผลิตภัณฑ์ของ Copic นั้นเป็นที่นิยมให้ในงานวาด ออกแบบ และลงสีใหนังสือการ์ตูน มังงะ แต่ตัวผลิตภัณฑ์นั้นก็มีราคาค่อนข้างสูง แต่ก็มีวิธีที่จะใช้สีของโคบิคมาใช้กับโปรแกรมต่างๆบนคอมพิวเตอร์ได้ ผ่านการโหลดชุดสีที่สร้างขึ้น ซึ่งสามารถโหลดมาใช้งานได้
สำหรับ palette หรือ swatch สำหรับโปรแกรมของ Adobe
เทคนิคการเลือกใช้สี
หรือโหลด Autodesk SketchBook Copic Edition ซึ่งมีชุดสี Copic Comic 72
โหลด Palette สีแบบ gpl และ apl
Copic 358
Copic Comic 72
ไฟล์ gpl สำหรับ Gimp,Inkscape,MyPaint
สำหรับ palette หรือ swatch สำหรับโปรแกรมของ Adobe
เทคนิคการเลือกใช้สี
หรือโหลด Autodesk SketchBook Copic Edition ซึ่งมีชุดสี Copic Comic 72
โหลด Palette สีแบบ gpl และ apl
Copic 358
Copic Comic 72
ไฟล์ gpl สำหรับ Gimp,Inkscape,MyPaint
ตัวอย่างใช้กับ Inkscape
ป้ายกำกับ:
azdrawing2,
azpainter2,
Copic Marker,
Gimp,
gpl,
Inkscape
แนะนำ Git บน Windows
Git ถูกใช้เป็นเครื่องมือในการจัดการซอสโค้ดของโปรแกรม
หรือโปรเจคงานที่สร้างขึ้น ให้เป็นระเบียบสามารถติดตามการเพิ่ม ลบ แก้ไขไฟล์ต่างๆ รวมถึงย้อนกลับการแก้ไขในครั้งก่อน
ซึ่งช่วยให้โค้ดโปรแกรม หรือโปรเจคงาน มีข้อผิดพลาดที่น้อยลง สามารถทำงานร่วมกันกับบุคคลอื่น
ได้พร้อมกันเห็นการเปลี่ยนแปลงที่เกิดขึ้น และลดความซ้ำซ้อนในการทำงานง่ายในการตรวจสอบ
ป้ายกำกับ:
git
วันศุกร์ที่ 31 พฤษภาคม พ.ศ. 2556
Laravel 4 ตอนที่ 2 พื้นฐานการทำ Routing
พื้นฐานการกำหนดเส้นทาง Routing
การกำหนดเส้นทางเมื่อมีการเรียกผ่าน URIs ว่าถ้ามีการผ่านค่าเข้ามาแล้ว จะกระทำอย่างไรกับค่าที่เข้ามานั้น เรากำหนดและแก้ไขใน app/routes.phpตัวอย่างการผ่านค่า URIs ที่จะแสดงต่อไปนี้กำหนดให้มี URL หลัก http://laravel.dev/ ทำการเปิดใช้งาน rewite_module เพื่อไม่ให้แสดง index.php เช่น
http://laravel.dev/index.php/hello เป็น http://laravel.dev/hello
กำหนดเส้นทางเมื่อเรียกผ่าน GET
Route::get('/',function(){
return View::make('home.index');
});
เมื่อเรียกผ่าน http://laravel.dev/ สร้าง View จากไฟล์ที่อยู่ใน app/views/home/index.php
Route::get('hello',function()
{
return View::make('hello');
});
เมื่อเรียกผ่าน http://laravel.dev/hello สร้าง View จากไฟล์ที่อยู่ใน app/views/hello.php
Route::get('/hello/world', function()
{
return 'Hello World';
});
เมื่อเรียกผ่าน http://laravel.dev/hello/world แสดงข้อความ Hello World
วันพฤหัสบดีที่ 30 พฤษภาคม พ.ศ. 2556
Laravel 4 ตอนที่ 1 ติดตั้ง
การติดตั้งและใช้งานบน Windows
- ติดตั้ง php webserver ก่อนถ้ายังไม่มีตัวอย่างเช่น wamp
- ทำการติดตั้ง Composer
- ตั้งค่า PATH ในวินโดว์ให้ชี้ไปที่โฟลเดอร์ที่เก็บ php.exe และ composer.bat
- ทำการดาวโหลด laravel เวอร์ชั่นล่าสุด คลายซิปไว้ในไดเรกทอรีของเว็บเซิฟเวอร์
- เข้าไปในไดเรกเทอรี ทำการติดตั้ง framework อื่นโดยการใช้งาน Composer โดยใช้คำสั่ง composer.bat install หลังจากติดตั้งแล้วเราสามารถทำการอัพเดต framework ของเราผ่านการใช้คำสั่ง composer.bat update
- หรือติดตั้งโดยสร้างโปรเจคให้ใหม่ โดยใช้คำสั่ง
composer create-project laravel/laravel your-project-name --prefer-dist
ปัญหาที่เกิดขึ้นคือ เมื่อ Composer มีการฟ้องข้อผิดพลาด ว่าไม่มีการเปิดการใช้งาน SSL ใน PHP ทำให้โหลดไฟล์ติดตั้งไม่ได้
ตรวจสอบผ่านคอนโซล ซึ่งต้องมี "https" โดยให้คำสั่ง
php -r var_dump(stream_get_wrappers());
ถ้าไม่มีวิธีแก้คือให้ไปเปิดใช้ openssl ใน php.ini โดยตรงที่ C:\path\to\wamp\bin\php\php(version)\php.ini
เปิดใช้งาน extension=php_openssl.dll
และควรติดตั้ง Git ด้วยเพราะไฟล์บางตัวดึงข้อมูลจาก Github ซึ่งบางครั้งต้องให้คำสั่ง git ในการดาวโหลดไฟล์ลงมาติดตั้ง
การสร้าง Application Key
Application key เป็นรหัสที่กำหนดไว้เพื่อเข้ารหัสในการส่งข้อมูลเพื่อความปลอดภัยให้กับ เว็บที่สร้างขึ้นบนเฟรมเวิร์ค Laravel ซึ่งแก้ไขที่ไฟล์ app/config/app.php โดยใช้เครื่องมือ artisan ที่สร้างมาให้ซึ่งอยู่ในโฟลเดอร์ ใช้คำสั่งphp artisan key:generate
สำหรับคำสั่ง artisan ดูเพิ่มเติมได้จาก
php artisan list
การตั้งค่า mysql server
เราจะทำการตั้งค่า mysql server ของเราให้สนับสนุนการใช้งาน utf8 เป็นค่า default โดยแก้ไขในไฟล์ my.ini โดยเพิ่มค่าใต้แท็ก [mysqld] เป็นcharacter-set-server=utf8
collation-server=utf8_general_ci
ทำการ restart เซิร์ฟเวอร์ถ้าเปิดค้างไว้ขณะที่ตั้งค่าในไฟล์ my.ini
วันอังคารที่ 30 เมษายน พ.ศ. 2556
ทำให้ Wacom Tablet ใช้งานบนวินโดว์แบบลื่นๆ
สำหรับคนที่เคยใช้ Wacom Tablet เวลาทำงานบนวินโดว์ อาจจะเคยพบปัญหาเวลาวาดภาพแล้วเกิดอาการกระตุก เนื่องฟีเจอร์พิเศษบางอย่างที่ไม่เหมาะกับคนที่ใช้ tablet เพื่อการวาดรูปอย่างจริงจัง ฟีเจอร์เหล่านั้นคือ
วิธีแก้แนะนำดูตามลิงค์ครับ
The Ultimate Guide to Making Your Wacom Tablet Work on Windows 7 แก้เองโดยไล่ปิดฟีเจอร์
Fix My Pen Makes your Wacom Tablet JUST WORK on Windows 7 ใช้โปรแกรมช่วยไล่ปิดฟีเจอร์ให้
Windows 8 RTM and Wacom Tablets - Even More Flawed Than Before แก้ปัญหาบน Windows 8
ป.ล. สำหรับการตั้งค่าของผมก็ไล่ปิดทุกฟิเจอร์ ยกเว้น Tablet PC input panel เพราะเวลาใช้เครื่องอยู่ในโหมดแท็บเลต มันกดคีย์บอร์ดลำบาก (เครื่องที่ใช้ Toshiba Portege M700,Fujitsu T4220)
- rings วงแหวนที่ปรากฎเวลาให้งานปากกา
- dynamic feedback วงแหวนกระเพื่อมเวลากดปากกา
- flicks ตวัดลากปากกาตามรูปแบบ เพื่อเรียกใช้คำสั่ง
- Tablet PC input panel แสดงคีย์บอร์ดเสมือนบนจอภาพ
- press and hold กดปากาค้างเรียกคำสั่งที่กำหนดไว้
วิธีแก้แนะนำดูตามลิงค์ครับ
The Ultimate Guide to Making Your Wacom Tablet Work on Windows 7 แก้เองโดยไล่ปิดฟีเจอร์
Fix My Pen Makes your Wacom Tablet JUST WORK on Windows 7 ใช้โปรแกรมช่วยไล่ปิดฟีเจอร์ให้
Windows 8 RTM and Wacom Tablets - Even More Flawed Than Before แก้ปัญหาบน Windows 8
ป.ล. สำหรับการตั้งค่าของผมก็ไล่ปิดทุกฟิเจอร์ ยกเว้น Tablet PC input panel เพราะเวลาใช้เครื่องอยู่ในโหมดแท็บเลต มันกดคีย์บอร์ดลำบาก (เครื่องที่ใช้ Toshiba Portege M700,Fujitsu T4220)
วันพุธที่ 17 เมษายน พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 3
Variables
A_Long_Variable_Name
Vname
T2animation
Db2Connect
Result = Ten*Ten.
- ตัวแปรใช้เก็บค่าพื้นฐานใน Erlang
- ขึ้นต้นด้วยตัวพิมพ์ใหญ่ ตามด้วยตัวพิมพ์ใหญ่หรือเล็ก ตัวเลข และขีดล่าง (_ underscore) โดยไม่มีอักษรพิเศษอื่นๆ
A_Long_Variable_Name
Vname
T2animation
Db2Connect
- ตัวแปรเมื่อมีการผูกค่าแล้ว เปลี่ยนแปลงค่าไม่ได้ (single assignment)
- ถ้าต้องการประมวลผลลัพธ์จากตัวแปร ต้องสร้างตัวแปรใหม่มาเก็บผลลัพธ์
Result = Ten*Ten.
- การเรียกตัวแปรใน Erlang เป็นแบบ Call by value
- อากิวเมนต์ที่จะผ่านเข้าสู่ฟังก์ชั่น จะต้องมีการผูกค่า ก่อนที่ฟังก์ชั่นจะทำการประมวลผล
- ใน Erlang ไม่มีการเรียกแบบอ้างอิง Call by reference does not exist
- ตัวแปรเป็นแบบ local อยู่กับฟังก์ชั่นที่มันอยู่
- ไม่มีตัวแปรแบบ Global ใน Erlang
- ตัวแปรไม่ต้องประกาศก่อน ใช้เมื่อต้องการใช้มัน
- ตัวแปรใน Erlang เป็นแบบ dynamic type system (Erlang type system)
- ตัวแปรที่ถูกค่าแล้วสามารถยกเลิกการผูกค่าโดยใช้ฟังก์ชั่น f() มีรูปแบบคือ f(Variable).
ป้ายกำกับ:
erlang
วันเสาร์ที่ 30 มีนาคม พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 2
Atoms and Strings
ความแตกต่างของ Atoms และ Strings
- atom ทำการประมวลผลได้เฉพาะนำมาเปรียบเทียบกันเอง
- string ประมวลผลได้หลายแบบ เช่นการนำสตริงมาแยก
ตัวอย่าง
สตริง "Hello World" สามารถแยกได้เป็น ["Hello","World"] แต่ในกรณีของอะตอม 'Hello World' ไม่สามารถแยกได้
- เราสามารถใช้สตริงแทนอะตอมในรูปแบบของตัวแปรคงที่แต่ ประสิทธิภาพที่ได้มีความแตกต่างกัน เพราะว่า
สตริง ใช้พื้นที่เก็บเท่ากับความยาวของข้อความ
อะตอม ใช้พื้นที่เก็บขนาด 2 ไบต์ในการอ้างอิง
ถ้ามีการเปรียบเทียบ สตริงต้องวิ่งเปรียบเทียบทีละตัวอักษร ส่วนอะตอมเปรียบเทียบในขั้นตอนเดียว
Building and Processing Lists
- เราสามารถแยก list ได้ออกเป็นส่วนหัว (head) และหาง (tail) ตราบเท่าที่ลิสต์ไม่ว่า
- หัวคือส่วนแรกในลิสต์ หางคือลิสต์ที่ภายในประกอบด้วยส่วนที่เหลือ
รูปแบบ
List = [Element|List] หรือ []
ป้ายกำกับ:
erlang
วันอังคารที่ 26 กุมภาพันธ์ พ.ศ. 2556
พื้นฐานการเขียนโปรแกรมภาษา Erlang ตอนที่ 1
หลังจากที่ได้อ่านหนังสือเกี่ยว Erlang Programming ของ Francesco Cesarini และ Simon Thompson วันนี้ก็มีโอกาสว่างๆ อัพเดตบล็อกเกี่ยวกับพื้นฐานการเขียนโปรแกรมภาษา Erlang เพื่อเอาไว้ช่วยบันทึกความจำของผมเองว่าเรียนรู้ไปถึงไหนบ้างแล้ว
สำหรับใครที่ต้องการรู้ประวัติของ Erlang ถ้าต้องการ Download
เริ่มต้นกันก่อนที่ Erlang Shell
คำสั่งพื้นฐานที่จำเป็นใช้ใน Erlang Shell
help(). เรียกดูคำสั่งที่ของ Erlang Shell ทั้งหมด
q(). ออกจาก Erlang Shell
pwd(). ดูว่าเรากำลังทำงานอยู่ในไดเรกทรอรีไหน
cd("C:/Users/Me/WorkingDir"). เปลี่ยนไดเรกทรอรีที่ทำงานไปที่ C:/Users/Me/WorkingDir
ls(). ดูรายการในไดเรกทรอรี
os:cmd("notepad myprog.erl"). เรียกใช้คำสั่งเฉพาะของ OS
c(myprog). คอมไพล์ Module ต้องมีไฟล์ชื่อ myprog.erl อยู่ในไดเรกทรอรีที่ทำงานอยู่ก่อนคอมไพล์
m(myprog). ดูรายการ public function ใน Module นี้
myprog:function(arguments). เรียกในฟังก์ชั่นใน Module
2 + 3 * 4. ตัวอย่างการเขียน Expression
Variable = expression. ผูกตัวแปรเข้ากับนิพจน์ ผูกได้เพียงครั้งเดียวเท่านั้น
f(Variable). ยกเลิกการผูกค่าตัวแปร
f(). ยกเลิกการผูกค่าตัวแปรทั้งหมด
สำหรับใครที่ต้องการรู้ประวัติของ Erlang ถ้าต้องการ Download
เริ่มต้นกันก่อนที่ Erlang Shell
คำสั่งพื้นฐานที่จำเป็นใช้ใน Erlang Shell
help(). เรียกดูคำสั่งที่ของ Erlang Shell ทั้งหมด
q(). ออกจาก Erlang Shell
pwd(). ดูว่าเรากำลังทำงานอยู่ในไดเรกทรอรีไหน
cd("C:/Users/Me/WorkingDir"). เปลี่ยนไดเรกทรอรีที่ทำงานไปที่ C:/Users/Me/WorkingDir
ls(). ดูรายการในไดเรกทรอรี
os:cmd("notepad myprog.erl"). เรียกใช้คำสั่งเฉพาะของ OS
c(myprog). คอมไพล์ Module ต้องมีไฟล์ชื่อ myprog.erl อยู่ในไดเรกทรอรีที่ทำงานอยู่ก่อนคอมไพล์
m(myprog). ดูรายการ public function ใน Module นี้
myprog:function(arguments). เรียกในฟังก์ชั่นใน Module
2 + 3 * 4. ตัวอย่างการเขียน Expression
Variable = expression. ผูกตัวแปรเข้ากับนิพจน์ ผูกได้เพียงครั้งเดียวเท่านั้น
f(Variable). ยกเลิกการผูกค่าตัวแปร
f(). ยกเลิกการผูกค่าตัวแปรทั้งหมด
ป้ายกำกับ:
erlang
สมัครสมาชิก:
บทความ (Atom)









