เมนูเพิ่มเติม
เข้าชม: 4848|ตอบกลับ: 0

[Adminstrator]


เหงาจุง

อาสึนะ คิริโตะ HBD Tz Azusa Yui Mikasa Ackerman Hatsune Miku Tokisaki Kurumi 2Y Yatogami Tohka Itsuka Shido Tobiichi Origami Itsuka Kotori Yoshino Tokisaki Kurumi Kuriyama Mirai Yaya Mio Yukina Tsumugi HBD Miku 7Y Halloween 2014 Sinon  Christmas ! 2014 Happy new year 2015 Saitama Inori วันแม่ 2559

  • โมเอะ: 47523
  • Money: 5462129
  • Tz: 51240
  • Posts: 5429
  • Donate: 970 THB
  • Joined: 11-11-2011
พลังน้ำใจ: 196394
   Pet:
Rem V.1
หัวฟ้านางเอก

โพสต์เมื่อ 10-12-2011 22:31:59 |แสดงโพสต์ทั้งหมด
ฟังค์ชั่นที่นิยมนำมาใส่ในช่องข้อความนั้น จะมาจากlibraryต่างๆ
ซึ่งlibrary ที่นิยมนำมาใช้ในเวอร์ชั่น2 คือ
karaskel.lua, unicode.lua และ utils.lua. ฯลฯ

ไลบรารี่ คือ ที่ๆเก็บโค้ดหรือในที่นี้เรียกว่าฟังค์ชั่น
ฟังค์ชั่น ในที่นี้ คือคำศัพท์ที่เราพิมพ์ใส่ช่องข้อความแล้ว
เวลาApplyสามารถแปลงคำนั้นๆเป็นสิ่งต่างๆให้เราใช้งานได้โดยทันที

เหมือนพวกที่อยู่หลัง$ แต่ฟังค์ชั่นพวกนี้ไม่จำเป็นต้องอยู่หลัง$
เพียงแค่พิมพ์ออกมาก็อาจใช้งานได้เลย แต่หลายๆตัวอาจจะต้องอยู่ระหว่าง!กับ!
เพื่อที่จะใช้ออกมาให้อยู่ในรูปการคำนวณตัวเลข

ฟังค์ชั่นที่อยู่ในlibraryเหล่านี้ เราจะนำมาใช้เพื่อให้ได้ค่าที่เราต้องการ
อย่างเช่น ขนาดความกว้างของจอ ขนาดตัวอักษร ขนาดความกว้างข้อความ
หรือเซ็ตค่าต่างๆ ซึ่งค่าพวกนี้ไม่มีค่าตายตัว ขึ้นอยู่กับว่าเราเซ็ตอะไรเช่นไร
หลายๆครั้งก็จะใช้งานร่วมกับ ค่าตัวแปรที่ตามหลัง$
เพื่อให้ได้เอฟเฟคต่างๆที่เราต้องการ

library คือ ห้องสมุด ที่เรามีหนังสือหลากหลายเล่มหรือเป็นฟังค์ชั่นต่างๆ
เราจะหยิบเล่มไหนมาใช้อ้างอิงในการเขียนโค้ด เราต้องรู้ว่าเล่มไหนเกี่ยวกับอะไร
อยู่ในหมวดไหน อาจจะเป็นหมวด karaskel.lua เป็นต้น
ตัวที่จะใช้อ้างอิงนี้จะอยู่ในรูปแบบภาษาlua(พวกนามสกุล.lua)

ซึ่งผมคงเจาะรายละเอียดได้ไม่หมด เพราะมีเยอะแยะมากมาย


ดังนั้นในที่นี้เราจะมาเจาะกันเฉพาะตัวที่สำคัญๆกัน

ที่สำคัญสุดคงเป็น karaskel.lua มีฟังค์ชั่นที่ทำงานกับline(บรรทัดต่างๆ)
และsyllable(คำหรือประโยคต่างๆ) มีการนำมาอ้างอิงใช้งานบ่อยๆ
ซึ่งเราจะมารู้จักโดยคร่าวๆ ก่อนจะเจาะลึกกันอีกทีในบทต่อๆไป

หลักๆ karaskel.lua แบ่งเป็นประเภทได้ ดังนี้
- line ทำงานเกี่ยวกับบรรทัดต่างๆ
- orgline แสดงผลกับบรรทัดที่คำต่างๆวางอยู่
- syl โครงสร้างของคำ ถ้าอยู่บนtemplate furiก็จะเกี่ยวข้องกับfuri
- basesylเหมือนข้างบน ยกเว้นเมื่อเป็นtemplate char หรือ multi
- meta บรรจุข้อมูลสคริปต์


เวลาจะนำมาใช้งาน ก็จะตามด้วย.ต่างๆแยกย่อยออกมา   เช่น
meta.res_x คือ ขนาดความกว้างของจอ
meta.res_y คือ ขนาดความสูงของจอ

line.width ขนาดความกว้างของบรรทัดนั้นๆ
line.height ขนาดความสูงของบรรทัดนั้นๆ
เป็นต้น

ซึ่งในที่นี้ให้เรารู้จักคร่าวๆแค่นี้ก่อน เพื่อที่จะอ่านบทหลังจากนี้ได้เข้าใจ
ส่วนที่บทนี้จะอธิบายจริงๆ คือ ฟังค์ชั่นretime

-----------------------------------------------------------------------
ปกติเวลาเราคุ้นเคยกับการผสมtagsแล้ว
มันก็สามารถทำให้เกิดลูกเล่นต่างๆเมื่อนำมาผสมกัน
แต่อาจจะถูกเล่นเพียงครั้งเดียวแล้วจบ เช่น หมุนเสร็จแล้วก็จบ

แต่ว่าเมื่ออยากทำคาราโอเกะให้มีลูกเล่นชั้นเชิงมากยิ่งขึ้น
สามารถเล่นเอฟเฟคได้หลายๆอย่างในทีเดียว
แต่การจะเกิดเอฟเฟคหลายอย่างในทีเดียวนั้น มันจะเกิดการชนกันของเอฟเฟค
เพราะเอฟเฟคที่เราเซ็ตตามปกติจะเกิดขึ้นพร้อมๆกัน

ดังนั้น สิ่งที่จะทำให้มีลูกเล่น จึงเป็นการกำหนดลำดับเวลาก่อนหลัง
ก่อนหน้าที่คำนั้นๆจะถูกร้องขึ้น ทำเอฟเฟคอะไร
ระหว่างที่คำนั้นๆถูกร้องอยู่ จะเกิดเอฟเฟคอะไร
หรือหลังจากร้องเสร็จแล้วนั้นแล้วอยากให้เกิดเอฟเฟคอะไร

แต่ว่าเราจะไปกำหนดเอฟเฟคก่อนหลังทีละตัวนั้นยุ่งยาก
เพราะแต่ละตัวแสดงเอฟเฟคไม่พร้อมกัน
เวลาที่ใช้ร้องในแต่ละคำหรือแต่ละบรรทัดนั้นใช้ไม่เท่ากัน

แต่เมื่อเรารู้ลำดับว่าเอฟเฟคอะไรจะเกิดก่อนหลังแล้วล่ะก็
แม้เวลาไม่เท่ากัน แต่ก็สามารถทำการเรียงลำดับเวลาได้โดยใช้ retime
ช่วยกำหนดลำดับเวลาว่าเอฟเฟคอะไรจะเกิดก่อนหลัง เกิดเวลาไหน  เรียงลำดับยังไง
retime
รูปแบบการใช้งาน: retime(mode, startadjust, endadjust)

ปกติการใช้retimeทำเพื่อกำหนดเวลาstart และend
โดยเราไม่ต้องไปคำนวนหาเอง แค่ใส่สมการเข้าไปเท่านั้น
เวลาApply โปรแกรมก็จะคำนวนมาให้ ตัวอย่าง เช่น

ภาพแรกเป็นการไม่ใช้retime สังเกตเวลาในกรอบสีส้ม
จะเห็นว่า เป็นไปตามที่เราไทม์ไว้



ภาพที่2 เมื่อมีการใช้retime สังเกตว่าเวลาจะเปลี่ยนไปตาม
คาราโอเกะของเรา เช่น \k100 เวลาจะเป็น 1 วินาที
\k20 จะเป็นเวลา20 มิลลิวินาที




วิธีการใช้งานretime นั้น
1
retime ต้องอยู่ระหว่าง!กับ!เสมอ
2 mode ที่ช่วยกำหนดรูปแบบการใช้งาน ต้องครอบด้วย " กับ " เสมอ
เป็นตัวกำหนดว่าจะเซ็ตรูปแบบเวลาอย่างไร มีดังต่อไปนี้

* abs หรือ set
* preline
* line
* postline
* start2syl
* presyl
* syl
* postsyl
* syl2end
* sylpct

3 เอฟเฟคหลังretime จะมีรูปแบบเอฟเฟค  ดังนี้
!retime("abs",0,10)!เอฟเฟคที่จะให้ทำ เช่น
!retime("abs",0,10)!{\t(\fs100)}

ตัวอย่างรูปจากhelp ซึ่งแสดงให้เห็นถึงช่วงระยะเวลาของแต่ละตัว
สีเหลือง คือ บรรทัดทั้งบรรทัดที่เราไทม์ สีส้มคำแต่ละคำที่เราไทม์



abs หรือ set เป็นการตั้งค่าจากstartadjust กับ endadjust ไปยังบรรทัดต่างๆโดยตรง
คงจำได้ว่ารูปแบบ คือ retime(mode, startadjust, endadjust)

สมการ
start = startadjust
end = endadjust


start ในที่นี้คือเวลาทางซ้าย ในกรอบสีส้ม
end คือเวลาทางขวา กรอบสีเขียว



ตัวอย่าง ถ้าเราตั้งstartadjust เป็น110 และendadjustเป็น210
ผลลัพธ์ คือ เวลาstart เป็น 00.00.00.11 และ เวลาend เป็น 00.00.00.21
ไม่ว่าเราจะไทม์ที่เวลาไหน เวลาapplyจะได้ช่วงเวลาของstartadjust กับ endadjust เสมอ



preline  คือ การทำให้เอฟเฟคเกิดก่อนที่lineจริงๆจะเริ่ม
เวลาของ startadjustจะถูกใส่ที่เวลาเริ่มต้น(start)และ endadjust ถูกใส่เวลาจบ(end)
ปกติเวลาใช้งานมักเซ็ต ค่า startadjust เป็นค่าลบ และค่า endadjust เป็นศูนย์
ตัวpreline นี้ จะเป็นการเซ็ตเอฟเฟคให้เกินขึ้นพร้อมกันทั้งบรรทัด

สมการ
startผลลัพธ์ = startline + startadjust
endผลลัพธ์  = startline + endadjust


startline คือ ช่องสีส้ม
startผลลัพธ์ คือ ช่องสีน้ำเงิน
endผลลัพธ์ คือ ช่องสีเหลือง

จากตัวอย่าง จะเห็นว่าเวลาบรรทัดที่7-9 ,10-12 และ 13-15 จะเท่ากัน
แสดงให้เห็นว่าเวลาที่เล่นเอฟเฟค ผลลัพธ์จะเกิดขึ้นพร้อมกันในเซ็ตเดียวกัน



line ใช้กำหนดเวลาทั่วไปเพียงแค่ในเวลาเริ่มและเวลาสิ้นสุด ของบรรทัดนั้นๆ

สมการ
start ของผลลัพธ์ = startline + startadjust
end ของผลลัพธ์  = endline + endadjust


startline คือ ช่องสีส้ม
endline คือ ช่องสีเขียว
start ของผลลัพธ์  คือ ช่องสีน้ำเงิน
end ของผลลัพธ์  คือ ช่องสีเหลือง

ตัวอย่าง จะเห็นว่า ผลที่อยู่บรรทัดเดียวกัน เวลาที่ใช้เล่นเอฟเฟคจะเท่ากัน



postline ตั้งใจทำให้เอฟเฟคหลังจากที่lineจริงๆ เริ่มไปแล้ว
ปกติมักเซ็ตstartadjust เป็น 0 และ endadjust เป็น ค่าบวก
เอฟเฟคจะเกิดหลังจากเราเล่นบรรทัดนั้นๆไปแล้ว

สมการ
start ของผลลัพธ์ = endline  + startadjust
end ของผลลัพธ์  = endline  + endadjust


endline คือ กรอบสีเขียว
start ของผลลัพธ์ คือ สีน้ำเงิน
end ของผลลัพธ์  คือ สีเหลือง

ตัวอย่าง จะเห็นว่า postline นั้น start ของผลลัพธ์
จะเป็นเวลาของendline + startadjust
เอฟเฟคที่ได้จะเกิดพร้อมกันและหลังสุดนั่นเอง





presyl เหมือนกับpreline แต่ใช้เวลาของsyllable หรือคำแต่ละคำแทน
เวลาของคำแต่ละคำนั้นมาจากตัวเลขหลัง \k นั่นเอง
ต่างกับprelineตรงที่ เอฟเฟคจะถูกแยกแสดงตามเวลาของคำแต่ละคำ
แทนที่จะแสดงพร้อมกันทั้งบรรทัด เอฟเฟคเหล่านั้นไม่เกิดขึ้นพร้อมกันในเซ็ตเดียวกัน

สมการ
start ของผลลัพธ์ = startline + startsyl + startadjust
end ของผลลัพธ์  = startline + startsyl + endadjust


startline คือ สีส้ม
startsylคือ สีฟ้า
start ของผลลัพธ์ คือ สีน้ำเงิน
end ของผลลัพธ์  คือ สีเขียว

จากตัวอย่าง startadjust คือ -1 endadjust คือ 0



บรรทัดที่3 startline คือ 0
ส่วนstartsyl คือเวลาหลัง\k ตัวก่อนหน้ารวมกันนั่นเอง คิดดังนี้

บรรทัดที่7 \kก่อนหน้าไม่มี ดังนั้นstartsyl จึงมีค่าเท่ากับ 0 ดังนั้น
startของผลลัพธ์ จึงเป็น
startline + startsyl + startadjust คือ 0+0+(-1) = 0
เนื่องจากไม่สามารถเซ็ตให้เวลามีค่าน้อยกว่า00.00.00.00 ได้
endของผลลัพธ์ จึงเป็น
startline + startsyl + endadjust คือ 0+0+0 = 0
เนื่องจากไม่สามารถเซ็ตให้เวลามีค่าน้อยกว่า00.00.00.00 ได้

บรรทัดที่8 \kก่อนหน้าคือ\k10 ดังนั้นstartsyl จึงมีค่าเท่ากับ 10 ดังนั้น
startของผลลัพธ์ จึงเป็น
startline + startsyl + startadjust คือ 0+10+(-1) = 9
ผลที่ได้จึงมีค่าเท่ากับ 00.00.00.09
endของผลลัพธ์ จึงเป็น
startline + startsyl + endadjust คือ 0+10+0 = 10
ผลที่ได้จึงมีค่าเท่ากับ  00.00.00.10

บรรทัดที่9 \kก่อนหน้าคือ\k10 และ\k20 ดังนั้นstartsyl จึงมีค่าเท่ากับ 10+20 ดังนั้น
startของผลลัพธ์ จึงเป็น
startline + startsyl + startadjust คือ 0+30+(-1) = 29
ผลที่ได้จึงมีค่าเท่ากับ 00.00.00.29
endของผลลัพธ์ จึงเป็น
startline + startsyl + endadjust คือ 0+30+0 = 30
ผลที่ได้จึงมีค่าเท่ากับ  00.00.00.30

สรุปได้ว่า บรรทัดที่7-9 มาจากบรรทัดเดียวกันคือบรรทัดที่3 แต่แสดงเอฟเฟคไม่พร้อมกัน
ต่างกับ preline ที่จะแสดงeffectพร้อมเพรียงกัน




syl เซ็ตเวลาจากตัวเริ่มต้นของคำแต่ละคำ ถึง ตัวจบของแต่ละคำ

สมการ
start ของผลลัพธ์ = startline + startsyl + startadjust
end ของผลลัพธ์  = startline + endsyl + endadjust


startline คือ สีส้ม
startของผลลัพธ์ คือ สีน้ำเงิน
endของผลลัพธ์ คือ สีเหลือง

ส่วนที่สำคัญ
startsyl คือ เวลาหลัง\kก่อนหน้า
endsyl คือ เวลาหลัง\kก่อนหน้ารวมถึง\kตัวปัจจุบัน

จากตัวอย่างจะเห็นได้ว่า
start ของผลลัพธ์ = startline + startsyl + startadjust
00.00.00.00 = 0+0+0
00.00.00.10 = 0+1+0
00.00.00.30 = 0+(1+2)+0

end ของผลลัพธ์  = startline + endsyl + endadjust
00.00.00.10 = 0+1+0
00.00.00.30 = 0+(1+2)+0
00.00.00.60 = 0+(1+2+3)+0




postsyl
เหมือน presyl แต่เปลี่ยนเป็นเวลาจบ แทนเวลาเริ่มต้น
ปกติจะเป็นค่าstartadjust เป็น 0 และendadjust เป็น ค่าบวก

สมการ
start ของผลลัพธ์ = startline + endsyl + startadjust
end ของผลลัพธ์  = startline + endsyl + endadjust


startline คือ สีส้ม
startของผลลัพธ์ คือ สีน้ำเงิน
endของผลลัพธ์ คือ สีเหลือง

ส่วนที่สำคัญ
endsyl คือ เวลาหลัง\kก่อนหน้ารวมถึง\kตัวปัจจุบัน อยู่ในกรอบสีฟ้า

จากตัวอย่างจะเห็นได้ว่า
start ของผลลัพธ์ = startline + endsyl + startadjust
00.00.00.10 = 0+1+0
00.00.00.30 = 0+(1+2)+0
00.00.00.60 = 0+(1+2+3)+0

end ของผลลัพธ์  = startline + endsyl + endadjust
00.00.00.20 = 0+1+1
00.00.00.40 = 0+(1+2)+1
00.00.00.70 = 0+(1+2+3)+1




start2syl ย่อมาจาก start to syl
เป็นช่วงเวลาจากstartของline จนถึง start ของ syl
กล่าวง่ายๆ คือ เวลาเริ่มจะเริ่มพร้อมกันหมด แต่จะจบไม่เท่ากันขึ้นอยู่กับเวลาของ\kตัวก่อนหน้านั่นเอง

สมการ
start ของผลลัพธ์ = startline + startadjust
end ของผลลัพธ์  = startline + startsyl + endadjust


ส่วนที่สำคัญ
startsyl คือ เวลา\kก่อนหน้าที่จะถึงตัวปัจจุบัน

startline คือ สีส้ม
startของผลลัพธ์ คือ สีน้ำเงิน
endของผลลัพธ์ คือ สีเหลือง
startsyl คือ สีฟ้า

จากตัวอย่างจะเห็นได้ว่า
start ของผลลัพธ์ = startline + startadjust
00.00.00.00 = 0+0
00.00.00.00 = 0+0
00.00.00.00 = 0+0

end ของผลลัพธ์  = startline + startsyl + endadjust
00.00.00.00 = 0+0+0
00.00.00.10 = 0+1+0
00.00.00.30 = 0+(1+2)+0




syl2end ย่อมาจาก  syl to end
เป็นช่วงเวลาจากendของsyl จนถึง end ของ line
กล่าวง่ายๆ คือ เวลาเริ่มจะไม่พร้อมกันขึ้นอยู่กับเวลาของ\kตัวก่อนหน้าจนถึงตัวปัจจุบัน
แต่จะจบพร้อมกัน

สมการ
start ของผลลัพธ์ = startline + endsyl + startadjust
end ของผลลัพธ์  = endline + endadjust


ส่วนที่สำคัญ
endsyl คือ เวลา\kก่อนหน้าจนถึง\kตัวปัจจุบัน

startline คือ สีส้ม
endline คือ สีเขียว
startของผลลัพธ์ คือ สีน้ำเงิน
endของผลลัพธ์ คือ สีเหลือง
endsyl คือ สีฟ้า

จากตัวอย่างจะเห็นได้ว่า
start ของผลลัพธ์ = startline + endsyl + startadjust
00.00.00.10 = 0+1+0
00.00.00.30 = 0+(1+2)+0
00.00.00.60 = 0+(1+2+3)+0

end ของผลลัพธ์  = endline + endadjust
00.00.00.00 = 0+0
00.00.00.00 = 0+0
00.00.00.00 = 0+0




sylpct  ค่าเริ่มต้นและจุดจบเป็นเปอร์เซ็น ปกติมักใช้ค่า0-100ในการเซ็ตเวลา
startadjust และ endadjust

สมการ
start ของผลลัพธ์ = startline + startsyl + (startsyl คูณ  %startadjust)
end ของผลลัพธ์  = startline + startsyl + (startsyl คูณ  %endadjust)


ส่วนที่สำคัญ
startsyl คือ เวลา\kก่อนหน้าที่จะถึงตัวปัจจุบัน
ภายในวงเล็บ คือ startsyl คูณด้วย ตัวเลขจากstartadjust หรือ endadjust
ที่ถูกทำเป็นเปอร์เซ็น เช่น กำหนด startadjust เป็น 10 ก็จะเป็น 10% ของค่า startsyl
ถ้าstartsyl คือ 30 แล้วค่า10% ของค่า startsyl คือ 3

startline คือ สีส้ม
startของผลลัพธ์ คือ สีน้ำเงิน
endของผลลัพธ์ คือ สีเหลือง
startsyl คือ สีฟ้า

ตัวอย่างเช่น ผลของบรรทัดที่3 จะเห็นได้ว่า
start ของผลลัพธ์ = startline + startsyl+(startsyl คูณ  %startadjust)
00.00.00.00 = 0+0+(0*0%)
00.00.00.10 = 0+1+(1*0%)
00.00.00.30 = 0+(1+2)+((1+2)*0%)

end ของผลลัพธ์  = startline + startsyl + (startsyl คูณ  %endadjust)
00.00.00.01 = 0+0+(0*10%)
00.00.00.12 = 0+1+(1*10%)
00.00.00.33 = 0+(1+2)+((1+2)*0%)




การใช้retimeนั้น มีไว้เพื่อการเล่นเอฟเฟคหลากหลายแบบติดต่อกัน
ทำให้เอฟเฟคดูพริ้วตามจังหวะเวลา โดยเราไม่ต้องไปกำหนดเวลาให้ยุ่งยากนั่นเอง
ตัวอย่าง เช่น

!retime("start2syl",-200, 0)!{\move(1000,-100,$x,$y)}
!retime("syl",0, 0)!{\pos($x,$y)\t(\fs33)}{\kf$skdur}
!retime("syl2end",0, 0)!{\pos($x,$sbottom)}
!retime("postline",0, 500)!{\pos($scenter,$sbottom)\t(\fs0)}


เราเอามาใช้ในคาราโอเกะ ดังภาพ




!retime("start2syl",-200, 0)!{\move(1000,-100,$x,$y)}
ทำให้เกิดการเคลื่อนที่จากตำแหน่ง1000,-100 มายังตำแหน่งปัจจุบันที่เราเซ็ตไว้
โดยstart2syl เป็นตัวกำหนดทำให้ ตัวอักษรค่อยๆทยอยตามมา

!retime("syl",0, 0)!{\pos($x,$y)\t(\fs33)}{\kf$skdur}
เมื่อถึงตำแหน่งที่เป็นเสียงร้องเกิดขึ้น ก็เปลี่ยนขนาดfontให้มีขนาด33(ซึ่งมีขนาดใหญ่ขึ้นจากตัวปกติที่ผมเซ็ตไว้)
และเล่นสีคาราโอเกะ

!retime("syl2end",0, 0)!{\pos($x,$sbottom)}
จากนั้นปรับตำแหน่งอักษร $sbottom ที่นี้ จะทำให้ตัวอักษรไปอยู่ส่วนล่างจากตำแหน่งปกติ
และเราไม่ได้เซ็ตขนาดเหมือนบรรทัดด้านบน ดังนั้นขนาดจึงกลับเป็นปกติ ส่วนsyl2end ทำให้
ตัวอักษรยังคงอยู่จนกว่าจะจบบรรทัด

!retime("postline",0, 500)!{\pos($scenter,$sbottom)\t(\fs0)}
หลังจบบรรทัดไป50 มิลลิวินาที ทุกๆตัวในบรรทัดนั้นก็จะเปลี่ยนขนาดจนเหลือ0

เมื่อเอามารวมกันencodeแล้วจะได้
http://www.youtube.com/watch?v=NaMXbtyxhDA&feature


ปิด

ประกาศจาก Admin

ช่วยบริจาคค่า VPS หน่อยจ้า
ช่วยบริจาคค่า VPS หน่อยจ้า
ช่วยหน่อยเนอะ ไม่ได้บังคับนะเออ เเต่สักหน่อยก๊ยังดี ^^

ดู »

ThaiZeed

|ดูการ์ตูนออนไลน์|โหลดการ์ตูน|Doujin|ดูการ์ตูนซับไทย|ดูการ์ตูนพากย์ไทย|อ่านการ์ตูน|

GMT+7, 5-12-2016 05:19 , Processed in 0.030411 second(s), 16 queries , Xcache On.

Powered by Discuz!

© 2001-2012  Template BY: GDC & 2th