[Lua] ฟังก์ชั่นรีเทิร์นหลายค่าและฟังก์ชั่นแบบรับค่าไม่ต้องครบตาม Arguments by

31
Mar
0

เนื่องจากเพิ่งมาเขียน Lua เดือนนี้ ก็มีโค้ดที่เกี่ยวกับฟังก์ชั่นที่ช่วยให้การทำงานสะดวกสบายขึ้นมานำเสนอฮะ

อันแรก ฟังก์ชั่นในลัวร์รีเทิร์น 2 ค่า อันนี้ไม่แน่ใจว่าภาษาไหนทำได้บ้างแต่จากที่เคยเขียนมาเพิ่งเจอในภาษานี้ครับ อเมซซิ่งมากๆ
local a,b = 1,2
function test2Params(x,y)
return x+1,y+2 --รีเทิร์นสองพารามิเตอร์
end
print('local a,b:'..a..','..b)
a,b = test2Params(a,b)
print('test2Params(a,b):'..a..','..b)

ถัดมาอันนี้เป็นวิธีอ้อม เนื่องจากเราไม่สามารถกำหนด Default Parameter ลงไปในการประกาศฟังก์ชั่นตรงๆ แบบ PHP/AS3 ได้ และยังไม่สามารถ Override ฟังก์ชั่นแบบ C# ได้ แต่สามารถรับไม่ครบมาเช็คค่าด้านในแบบนี้ดื้อๆได้เลยครับ
function testOptionalParams(x,y) -- รับสองตัวแปร
if (y == nil ) then -- ถ้าส่งมาแค่ x (y ไม่ส่งมา) ก็ให้ y เป็นสักค่า
y = 0;
end
return x+y
end
a = testOptionalParams(a)
print('testOptionalParams(a):'..a)
a = testOptionalParams(a,b)
print('testOptionalParams(a,b):'..a)

จากโค้ดทั้งสองชุดด้านบน รันแล้วจะได้ผลลัพธ์ดังนี้ครับ

local a,b:1,2
test2Params(a,b):2,4
testOptionalParams(a):2
testOptionalParams(a,b):6

(English) C# Enumeration extension method by

31
Mar
0

การใช้ Enumeration เป็นตัวแปรแบบจำกัดก็มีใช้งานให้เห็นกันทั่วไป
เรามาลองเพิ่มความสามารถให้กับตัวแปลด้วยการเพิ่ม method สำหรับตัวแปรชนิดนี้อีกหน่อยดีกว่าครับ
วิธีนี้เรียกว่าการสร้าง Enumeration extension method ยกตัวอย่างการประกาศค่าของเพศ
public enum Gender{MALE,FEMALE}
เนื่องจาก Enumeration ไม่มี Constructor เราก็สามารถใช้การ Parse string เข้าไปให้ method return Gender กลับออกมาแทนได้
วิธีประกาศดังนี้
public static class GenderExtensions{
public static Gender Parse(string data){
switch(data){
case "Male":
case "male":
case "m":
case "M": return Gender.Male;
case "Female":
case "female":
case "f":
case "F":return Gender.Female;
default: throw new Exception("Unknown gender key:"+data);
}}}

เวลาเรียกใช้งานก็จะสามารถใช้ public Gender PlayerGender = GenderExtension.Parse(“male”); ได้เลย

วิธีประกาศ method ที่อ้างกับค่าของ Enum เองมีดังนี้
public static string BrotherSister(this Gender data){
if(data == Gender.MALE){
return "brother";
}else{return "sister";}
}

เวลาเรียกใช้งานก็สามารถเรียกผ่าน PlayerGender.BrotherSister() ได้เลย

การลงสีหน่มน้มอย่างง่ายด้วยselection by

31
Mar
0

วันนี้เราจะมาลงสีหน่มน้มอย่างรวดเร็วด้วยวิธีselectionกันนะฮะ

ก่อนอื่นเราต้องมีภาพหน่มน้มก่อน ก็ลงสีพื้นเรียบๆให้เรียบร้อย
lasso01

ตอนนี้ก็อาจจะยังดูแบนๆอยู่ก็ใช้บรัชพ่นริมๆนิดหน่อย
lasso02

จากนั้นเราก็จะใช้เครื่องมือชิ้นนี้ในการทำselectionนะครับ สามารถใช้เม้าท์ปากกาลากได้ตามใจต้องการ
lasso

ก็ลากselectionลงไป

lasso03

 

เอาบรัชพ่นเลยครับ ไม่ต้องกังวลเรื่องออกนอกเส้นเต็มที่ก็มาลบๆเก็บนิดหน่อย
lasso04

เสร็จแล้วจะได้ตามนี้ เย้! ถ้าเป็นด้านหน้าตรงๆเห็นหน่มน้มทั้งสองข้างก็ทำเหมือนกันกับอีกข้างเสีย

lasso05

lasso06

เสร็จแล้วก็ลงแสงลงเงาตามใจชอบ เราก็จะได้หน่มน้มมาในเวลาอันสั้น โอววพระเจ้า
lasso07

ลองๆกันดูนะครับประหยัดเวลาได้เยอะ จะมุมตรงมุมเอียงก็ใช้วิธีนี้ได้  แต่ถ้าต้องการหน่มน้มHD อันนี้ก็ต้งเสียเวลาเพ้นท์เวลาเกลี่ยกันเองเด้อ

วิธีการ selection ให้ขยายจนทับเส้นใน PS by

31
Mar
0

เคยมั้ย selection เส้นที่วาดแต่เมื่อเทสีลงไปยังเห็นขอบสีของBGอยุ่ มีวิธีทำให้ขยายจนทับเส้นที่วาดได้ครับ มาดูกัน
ลองดูตัวอย่างก่อน นี้คือการselectionที่ขอบไม่สนิจนะ (ในที่นี้ผมใช้BGสีเขียวเพื่อจะได้เห็นภาพได้ชัด)
00
ขั้นแรกลองวาดภาพเส้นของตัวเองมาซัก 1 ภาพ(ให้เส้นสนิจกันทุกจุด)
2
จากนั้นให้กดที่คำสั่ง magic wand tool(ตามวงกลมสีแดง)
3
จากนั้นลองคลิกลงไปตรงที่ว่างของเส้น (อันนี้ผมเลือกคลิกที่ส่วนผม) จะขึ้นเป็นเส้นปะselectionแบบนี้
4
จากนั้นให้กด alt+s > m > e จะขึ้น Pop up แบบนี้
5
จากนั้นให้ปรับตรงค่า Expand by จาก 1 เป็นซัก 3 (ยิ่่งปรับเยอะยิ่งขยายขึ้น)
6
จากนั้นลองเทสีดู จะเห็นว่าจะไม่มีขอบBGอีกแล้ว
7
ลองเทียบกันแบบลงใช้กับไม่ใช้
8
ทั้งนี้ทั้งนั้นขึ้นอยุ่กับเส้นที่วาดด้วย หวังว่าจะมีประโยชน์ไม่มากก็น้อยนะครับ

ติดตั้ง Facebook SDK บน Unity อย่างไร by

30
Mar
0
  1. Download เวอร์ชั่นล่าสุดจาก https://developers.facebook.com/docs/unity/downloads
  2. Double Click Unity package ใส่ใน Project ที่เราจะ setup
  3. เมื่อสำเร็จแล้วจะมีเมนู Facebook โผล่มาอยู่ข้างๆ Component (ของผมลง NGUI ด้วย เลยอยู่ข้าง NGUI)
    Unity Menu
  4. คลิก Facebook -> Edit Settings แล้วดูที่ Inspector กรอก App Name (อะไรก็ได้) และ App Id จาก Facebook มีสองเวอร์ชั่น (production, development) ก็ใส่เพิ่มได้สองอัน แล้วจะเลือกอันที่จะใช้ได้
  5. สังเกตว่ามีการเตือนตามรูปด้านล่างรึเปล่า ถ้ามีให้ทำตามข้อ 6-9 ต่อ ถ้าไม่มีข้ามไปข้อ 10 เลย (ส่วนใหญ่จะเกิดกับเครื่อง Windows)
    20644-warning
  6. Download OpenSSL จาก http://slproweb.com/products/Win32OpenSSL.html โดยเลือก Win32 OpenSSL vx.x.x หรือ Win64 OpenSSL vx.x.x ตามแต่ระบบปฏิบัติการของเรา (อย่าเลือก Light version ให้ลงตัวเต็ม) แล้ว Install ให้เรียบร้อย
  7. จะ Install OpenSSL ได้ต้องใช้ Microsoft Visual C++ 2008 Redistributable Package (x86) ด้วยนะ โหลดมาให้เรียบร้อยถ้ายังไม่ได้ลงไว้
  8. เข้า Control Panel > System > Advanced system settings > Environment Variables เลือก Variable “Path” ใน “System variables” พิมพ์ “;C:\OpenSSL-Win64\bin” (ค่าตรงนี้อาจไม่เหมือนกัน ขึ้นกับว่าตอน Install เรา Install OpenSSL ไว้ที่ไหนก็ให้ใส่ Path ไปหาที่นั่นต่อด้วย \bin) ต่อท้าย ไปแล้วเซพค่า ปิดเปิด Unity ใหม่ 
  9. ถ้าขึ้นว่า Keytool not found ต้อง Add Path JDK ลงตัวแปร Path ต่อท้ายตามในข้อ 8 ไปด้วย เช่น “C:\Program Files\Java\jdk1.7.0_45\bin” (เปลี่ยนเลขเวอร์ชั่นและ path ให้ถูกต้องตามที่ setup ไว้)
  10. สังเกตที่ Debug Android Key Hash หากมีการ Install OpenSSL ไว้ถูกต้องจะมีตัวหนังสือ Hash แสดงออกมา หาก Install ผิดพลาดจะไม่เห็นตัวหนังสืออะไรเลย ให้พยายาม Install OpenSSL ใหม่ ให้ Copy เอาไว้
  11. กดปุ่ม Regenerate Android Manifest ข้างใต้หนึ่งครั้ง
  12. เข้าไปที่ https://developers.facebook.com/ เลือก App ที่เราสร้างไว้ อันเดียวกับ app id ที่กรอกไปก่อนหน้า แล้วเข้าเมนู Settings ทางซ้าย
  13. ดูส่วนที่เป็น Android ถ้ายังไม่มีก็กด Add Platform ซะ กรอก
    • Google Play Package Name – ชื่อ Package app เราเอง
    • Class Name – ใส่ว่า com.facebook.unity.FBUnityDeepLinkingActivity
    • Key Hashes – เอาค่าจากข้อ 10 กรอกไป
  14. กด Save Changes เป็นอันเสร็จพิธี ใช้งาน Facebook SDK บน Unity ได้แล้วจ้าาา
  15. [แถม] สำหรับ iOS ถ้าเป็น Unity5 จะมีปัญหาตอน Build ให้ไปที่ไฟล์ Assets/Facebook/Editor/iOS/FbUnityInterface.mm และ FbUnityInterface.h ด้วย โดยคลิกเลือกที่สองไฟล์นี้ทีละไฟล์แล้วที่ Inspector ติ๊กที่ iOS คลิก Tab ที่เพิ่มมาใต้ Platform settings จะมีส่วนที่เขียนว่า Compile flags อยู่ ให้พิมพ์ว่า “-fno-objc-arc” กด Apply ทั้งสองไฟล์ก็จะสามารถ Build ลง iOS ได้ตามปกติครับ
กู้เงิน | เศรษฐกิจพอเพียง | สินเชื่อบุคคล | สมัครบัตรกดเงินสด | สินเชื่อ | เงินกู้ด่วน | ยืมเงินทรูมูฟ | เงินด่วนนอกระบบ