[Unity] วิธีการทำให้ Grid ใน ScrollView มีระยะห่างที่ถูกต้อง by Ziah
Feb0
โดยปกติแล้ว Grid ก็จะมี Cell Width กับ Height ให้เพื่อกำหนดระยะห่างระหว่าง GameObject ด้านในของเรา ซึ่งถ้าเราใช้ร่วมกับ ScrollView ของด้านในจะเลื่อนไปชิดด้านบนสุด เพราะ Grid จะทำการจัดที่ให้ดูจากของที่อยู่ด้านใน
ซึ่งถ้าเราทำการเลื่อน ScrollView ลงเพื่อให้มีพื้นที่ ก็จะพบปัญหาว่าของด้านในของเรานั้นเวลาถูกเลื่อนออกจาก Scroll View จะถูกตัดขาดก่อนที่ควรจะเป็น เพราะเราเลื่อนช่วงการมองเห็นลงมา
ทีนี้ วิธีแก้ไขก็ไม่มีอะไรมาก ให้เราสร้าง UIWidget มาครอบไว้นอก ให้ระยะเต็มกินขอบไปด้วยเลย แล้ว Grid จะเว้นพื้นที่ไว้ให้เองอัตโนมัติดังรูป
เพียงเท่านี้ก็จะได้ Grid ที่เลื่อนได้โดยมีตำแหน่งที่สวยงามแล้วล่ะครับ
[Unity3D][NGUI] ScrollView && Grid by tosawat
May0
ใครทีใช้ Unity3D ร่วมกับ NGUI ก็คงจะเคยเจอปัญหาเรื่องของ ScrollView และ Grid กันมาบ้าง วันนี้ผมมาเสนอวิธีแก้ปัญหา ScrollView และ Grid ที่ผมเคยเจอครับ
ปัญหาแรกคือ เมื่อ เราสร้างลูกของ Grid แบบ Run Time แล้วสั่ง Grid.Reposition(); และตามด้วยคำสั่ง ScrollView.ResetPosition(); เราก็จะเห็นว่าลูกของ Grid ที่เราพึ่งสร้างนั้นค่อยๆเลือนไปประจำตำแหน่งของมัน
ปัญหาที่สองคือ ถ้าเราสร้างลูกของ Grid มาจำนวนน้อย หรือมีจำนวนไม่มากพอที่จะทำให้ Grid นั้นล้นออกนอก ScrollView แล้วมันก็จะทำให้ ลูกของ Grid นั้นไปอยู่ตรงกลาง ScrollView ดังรูป
ปัญหาที่สามคือ เมื่อเราทำ Application หรือ Game ในหลายๆขนาดหน้าจอ ถ้าเราอยากให้ Grid ของเราอยู่ชิดข้างบนเสมอล่ะ ทำยังไงดี ก็ Grid มันไม่มี Anchor นี่นา
วิธีแก้ก็ทำตามนี้เลยครับ
ถ้าเป็น Grid แบบนี้
ให้ Set ค่า ScrollView ตามนี้ครับ
และ Set ค่า Grid ตามนี้ ซึ่งเราต้อง Add Component UIWidget ให้ Grid ด้วยมันจะได้มี Anchor ให้เราใช้ไงครับ
แต่ถ้าเป็น Grid แบบนี้
ก็ให้ Set ScrollView ตามนี้ครับ
และ Grid ตามนี้
ให้สังเกต ScrollView ตรง Content Origin นะครับ
และให้สังเกต Grid ตรง Pivot, Smooth Tween และ ขนาดของ UIWidget นะครับ
แฉ! (share) ข้อมูล Hosting ในต่างประเทศ (+ Cloud/Grid Hosting) by plug.in
Oct5
สืบเนื่องจากการเตรียมตัวเปิดเกมบน Facebook ทำให้ต้องทำการศึกษาเรื่อง Server ต่างประเทศอย่างจริงจัง เนื่องจากใช้ Server เดิมๆที่มีที่ไทยไม่ได้เพราะ [Server ไทย ออกนอกมันห่วยแตก] – -” และลูกค้าส่วนใหญ่ของ Facebook ก็อยู่ในแถบโลกที่เจริญแล้ว (Internet เร็ว) หากมาให้ทนเข้าเวปเกมช้าๆคงไม่ work เท่าไหรแน่ เพราะปัจจัยหลักอันนึงของ Web game คือ “ความเร็วในการตอบสนอง” รวมทั้ง “ความเสถียรของระบบ” ไม่งั้นลูกค้าก็หนีหายหมด
เอาหล่ะ! ว่าแล้วก็มาเริ่มเข้าประเด็นกันเลยดีกว่า
ทำไมถึงไม่ใช้ Server ตั้งที่ไทย
1. ลูกค้าหลักๆ (US , UK , Europe) เข้าถึง Server ในประเทศเราได้ช้ามาก
2. ผู้บริการในไทยมักเจอปัญหาเรื่องความไม่เสถียรอยู่บ่อยมาก Server ล่ม ถูกยิง เจอไวรัส เป็นประจำ
3. ในไทยยังไม่ให้บริการ Server ประสิทธิภาพสูง Grid/Cloud