(ไทย) [Unity][NGUI] เคยเจอปัญหาใช้ Anchor แล้วมันเลื่อนๆไหม?? by

31
Dec
0

เคยเจอปัญหาใช้ Anchor แล้วพอสั่ง play มันก็เลื่อนๆๆ สักพัก กว่าจะเข้าที่ไหม เวลาเปลี่ยนหน้าไปมา มันก็เลือนๆๆ อยู่อย่างนั้นแหละ ทำให้ UI เราไม่สวยเลยย วันนี้จะมาบอกวิธีแก้กันนะฮ้าฟฟฟ

- ก่อนอื่นให้เราลองดู Anchor ของ Object ที่มันเลือนๆ กันก่อนว่าใช้ Anchor Type เป็น Advanced รีเปล่า
- ถัดไปให้ดูว่ามีการ Set ฝั่งไหนเป็น None รึเปล่า ถ้ามี นี่แหละ เป็นตัวการที่ทำให้ Object ของเรา เลื่อนนๆๆๆๆๆ
- หากว่าเราอยากให้ส่วนบนของ Object A ติดกับส่วนล่างของ Object B แล้วปล่อยให้ ส่วนล่างของ Object A ไม่กำหนด (ที่เมื่อก่อนเราปล่อยตรงนี้ไว้เป็น None) ให้เราทำอย่างนี้
- ปรับ Pivot ดังนี้
ถ้าอยากให้ชิดบน Pivot บน
ถ้าอยากให้ชิดล่าง Pivot ล่าง
ถ้าอยากให้ชิดซ้าย Pivot ซ้าย
ถ้าอยากให้ชิดขวา Pivot ขวา
- ปรับ Anchor ดังนี้
ถ้าอยากให้ชิดบน ทำ Anchor ล่างให้เหมือน Anchor บน
ถ้าอยากให้ชิดล่าง ทำ Anchor บนให้เหมือน Anchor ล่าง
ถ้าอยากให้ชิดซ้าย ทำ Anchor ขวาให้เหมือน Anchor ซ้าย
ถ้าอยากให้ชิดขวา ทำ Anchor ซ้ายให้เหมือน Anchor ขวา

จบแล้วคร้าฟฟฟฟ ทีนี้ Object ของเราก็จะไม่วิ่งๆ เลื่อนๆ อีกต่อไป

Filed under: Uncategorized

[UNITY][Shader][White Overlay] วิธีการทำให้ Sprite เป็นสีขาวทึบ by

30
Nov
0

วันนี้จะมาสอนทำ Sprite ให้เป็นสีขาวทึบนะครับ สำหรับทำ Effect ต่างๆ

Filed under: Uncategorized

[UNITY][NGUI]วิธีทำ Scroll View แบบหมุนได้ไม่รู้จบ (Loop) by

31
Oct
0

ใน NGUI นั้นมี Script สำหรับทำ Scroll View แบบหมุนได้ไม่รู้จบ หรือ Loop Scroll View ซึ่ง Script นั้นมีชื่อว่า UIWrapContent ครับ เราสามารถใช้ UIWrapContent ได้ดังนี้

Filed under: Uncategorized

Unity Debug Tips ตอนที่ 1 by

29
Oct
0

เคยไหมเวลาที่ตัวแปรซักตัวหนึ่ง ถูกเรา set เป็นค่าหนึ่ง แล้วมันไม่ยอมเปลี่ยน(อันที่จริงแล้ว ต้องบอกว่ามันเปลี่ยนแล้ว แต่โดน code ส่วนอื่นแก้ทับลงไปอีกรอบ) เป็นสาเหตุให้โปรแกรมของเรามันทำงานไม่เหมือนกับที่เราตั้งใจไว้

วันนี้จะมานำเสนอวิธีแก้ปัญหา ที่จะทำให้การ debug ปัญหาทำนองนี้เร็วขึ้นมากกกครับ

วิธีนี้จะแนะนำให้ใช้ get set ให้เป็นประโยชน์ครับ สมมุติว่าตัวแปรเจ้าปัญหาของเราประกาศไว้ว่าอย่างนี้
public int myVar;

ให้เราแก้เป็น
public int temp;
public int myVar{
get{
return temp;
}
set{
Debug.Log(“myVer is set to “+value);
temp = value;
}
}

ทีนี้เมื่อมีการแก้ตัวแปร myVar เมื่อไหร่ มันก็จะ Debug.Log ออกมาให้เราเห็นพร้อมกับ stack trace ด้วย ทำให้เรารู้แล้วว่า code ส่วนไหนที่แก้ตัวแปรนี้ไปบ้างงงง

Tagged as: ,

[Unity][Thread] Thread Ninja by

31
Aug
0

“Unity’s coroutine is great, but it’s not a real thread. And a background thread is not allowed to access Unity’s API.” ผู้สร้าง Thread Ninja ได้กล่าวไว้

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

วันนี้ผมจึงมานำเสนอ Thread Ninja ที่จะทำให้ชึวิตเราง่ายขึ้นมากกกกกในการเขียนโปรแกรมแบบ Multithread บน Unity ครับ

เจ้า Thread Ninja นี้มีวิธีใช้ง่ายแสนง่ายครับ
- ก่อนอื่น หาโหลด Package Thread Ninja ได้จาก Unity Asset Store ครับ แล้วก็ Import เข้าไปใน Project เรา เราก็ได้จะได้ โฟลเดอร์ชื่อ CielaSpike มาอยู่ใน Project ครับ
- ก่อนใช้ต้อง using CielaSpike; ก่อนครับ
- ใช้ Thread Ninja ให้เหมือนใช้ Coroutine ธรรมดาเลยครับ คือปกติ เรียก Coroutine แบบนี้ใช่ไหมครับ StartCoroutine(Func()); แค่เปลี่ยนไปเรียกแบบนี้ this.StartCoroutineAsync(Func()); จบครับ
- เปลี่ยนจาก yield return StartCoroutine(Func()); เป็น
Task task; this.StartCoroutineAsync(YourRoutine(), out task); // do sth else. // wait task to complete. yield return StartCoroutine(task.Wait()); // task has done. if (task.State == TaskState.Error) { // … }
- ข้อสำคัญครับ background thread is not allowed to access Unity’s API ครับ ดังนั้นถ้าเราอยากใช้ Unity API ในระหว่างที่มันอยู่ใน background thread เราก็ทำอย่างนี้ครับ
IEnumerator YourAsyncRoutine() { // now on background; yield return Ninja.JumpToUnity; //=> here’s our ninja, following code runs on main thread. Destory(gameObject); // OK! yield return Ninja.JumpBack; //=> go back to background. // continue doing some heavy computing without blocking the main thread. // … }

ง่าาาายมากใช่ไหม เย่ๆ มาทำ Multithread Programming กันเถอะ

Filed under: Uncategorized
 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน